問題タブ [ident]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python IDLEで不適切なインデントが許可されていますか?
wwii の回答を見ながら、私は彼のインデントについて、それは間違っているとコメントしました。しかし、私の IDLE で彼のコードを実行した後、問題なく実行されることがわかりました。
正しい結果が得られていることを確認するために、いくつかの例を試しました。
ご覧のとおり、すべて正常に動作しました。通常のスクリプトで同じことをしようとすると、Python はプログラムを実行する前にエラーを発生させ、ブロックをインデントするのを忘れていることを通知します。
対話型 IDLE ではこの種のインデントが許可されているのに、通常のスクリプトでは許可されていないのはなぜですか? IDLE のドキュメント、より具体的にはセクション25.5.2.1 Automatic indentationを調べましたが、答えを見つけるのに役に立ちませんでした。
さらに、関数に関する Python ドキュメントには、関数本体をインデントする必要があると記載されています。
キーワード def は関数定義を導入します。その後に、関数名と括弧で囲まれた仮パラメーターのリストが続く必要があります。関数の本体を形成するステートメントは次の行から始まり、インデントする必要があります。
(私のものを強調)
IDLE ではこの種のインデントが許可されているのに、通常のスクリプトでは完全にシャットダウンされるのはなぜですか? これはわざとですか?もしそうなら、この動作はどこかに文書化されていますか?
python - Python での 2 つの数値の最大公約数
ちょっとしたコードをチェックするのに助けが必要です:
最初の には入らないように見えるので問題がありますif
。常に に入ります。インデントの順序を変更して、2 番目からelse
を取り出してみましたが、うまくいきません。誰かがそれを助けることができれば、それは素晴らしいことです。if
for