3

人口増加モデルを機能させようとしていた初心者の python 3 プログラマー。私が抱えている問題は以下に様式化されています。

インタープリティブ モードでは、次のコードは出力される行で「無効な構文」エラーを生成します。

n = 1
for i in range(10):
    n += 1
print(n)

不思議なことに、それを関数でラップすると、期待される出力が生成されます (11):

def function():
    n = 1
    for i in range(10):
        n += 1
    print(n)

function()

どうしたの?

4

1 に答える 1

6

for ループの後に追加の空白行を追加して、ステートメントが完了したことを知らせる必要があります (これは、最も外側のレイヤーでのみ必要であり、インタープリターでのみ必要です)。インタープリターが...の代わりに表示される場合>>>、それはそのステートメント (この場合は for ループ全体) の追加の入力を待っていることを意味し、完全に読み込まれたステートメントのみを実行するため、明示的に伝える必要があります。ステートメントが完了したとき。

于 2012-11-17T18:49:27.160 に答える