対話モードで実行する場合は、一番外側の複合文が終わったところで改行をひとつ入れる必要があります。
Python
1for i in [1,2,3,4,5]:
2 print(i)
3
4print('done')
これを対話モードにコピペすると以下のようになります。
python
1>>> for i in [1,2,3,4,5]:
2... print(i)
3...
41
52
63
74
85
9>>> print('done')
10done
逆に、複合文の途中で空行を入れてしまうとその複合文が終了したことになるので、これも注意が必要です。
例えば
python
1for i in range(2):
2 print(i)
3
4 print(i+1)
はファイル実行する場合は正しく動きますが、対話モードでは以下のようにエラーになります。
python
1>>> for i in range(2):
2... print(i)
3...
40
51
6>>> print(i+1)
7 File "<stdin>", line 1
8 print(i+1)
9 ^
10IndentationError: unexpected indent
これを防ぎたければ、空行を削除するか、あるいはコメント行に変更する必要があります。
python
1>>> for i in range(2):
2... print(i)
3... #
4... print(i+1)
5...
60
71
81
92
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/17 13:21