[英]Indention Errors on Python IDLE
我只是遵循python的基本知识,并且一直在使用IDLE,因为我发现可以方便地进行实时脚本实验。
虽然我可以毫无问题地运行此脚本作为文件,但是我不能在IDLE!中包含最后一个打印语句。 我尝试了一个缩进,四个空格,没有缩进。 请解释我做错了。
while True:
print ('Who are you?')
name = input()
if name != 'Joe':
continue
print('Hello, Joe. What is the password? (It is a fish.)')
password = input()
if password == 'swordfish':
break
print('value')
SyntaxError: invalid syntax
您可以一次输入一个语句。 while
循环将循环本身视为一个循环,并且由于循环是一个代码块,因此一切正常。
但是,最后的print
是一个新命令。 您必须先运行while
循环,然后在解释器中键入print
。
您一次不能将多个语句粘贴到IDLE中。 问题与缩进无关。 while
循环构成一个复合语句,而最终print
while
构成另一个复合语句。
当您尝试一次粘贴到IDLE中时,以下内容也会出现问题:
print('A')
print('B')
有问题的事实更清楚地表明,问题不是缩进之一。
您在第10行中遇到了undenting错误,那么您只需添加一个espace
while True:
print ('Who are you?')
name = input()
if name != 'Joe':
continue
print('Hello, Joe. What is the password? (It is a fish.)')
password = input()
if password == 'swordfish':
break
print('value')
正如其他人所指出的那样,python IDLE只允许一次执行一个代码块。 在这种情况下,while循环是一个“块”。 最后一个打印语句在此块之外,因此无法执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.