Я тестировал код на IDLE для Python, который некоторое время не использовал, и наткнулся на необычную ошибку.
Я пытался запустить этот простой код:
for i in range(10):
print(i)
print('Done')
Напомню, что оболочка работает построчно, поэтому вот что я сделал первым:
>>> for i in range(10):
print(i)
print('Done')
Это привело к ошибке отступа, показанной на рисунке ниже:
Я попробовал другой способ, поскольку, возможно, следующее утверждение должно было быть в начале, например, так:
>>> for i in range(10):
print(i)
print('Done')
Но это дало странную синтаксическую ошибку:
Это довольно странно для меня, как работает IDLE.
Обратите внимание: я на самом деле тестирую гораздо более сложную программу и не хочу создавать небольшой файл Python для короткого теста. В конце концов, разве не используется оболочка IDLE для коротких тестов?
Почему многострочное кодирование вызывает эту проблему? Благодарю.
Просто нажмите " return
один или два раза после print(i)
, пока не получите приглашение >>>
снова. Затем вы можете напечатать print('Done')
. Что происходит в том, что питон ждет вас, чтобы сказать ему, что вы закончите работать в том, что for
. И вы делаете это, нажав клавишу return
.
(Однако вы увидите, что цикл for
выполняется сразу же.)