我只是关注python的基本知识,并且一直在使用IDLE,因为我觉得实时编写脚本非常方便。
虽然我可以运行此脚本而不会出现文件问题,但我无法在IDLE中包含最后一个打印语句!我试过一个缩进,4个空格,没有缩进。请解释我做错了什么。
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
答案 0 :(得分:1)
您可以一次输入一个语句。 while
循环将循环本身视为一个循环,并且由于循环是代码块,因此其中的所有内容都可以。
最后的print
是一个新命令。您必须先运行while
循环,然后在解释器中输入print
。
答案 1 :(得分:1)
您不能一次将多个语句粘贴到IDLE中。这个问题与缩进无关。 while
循环构成一个复合语句,最后print
构成另一个。
当您尝试一次性粘贴到IDLE时,以下问题也存在:
print('A')
print('B')
这有问题的事实更清楚地表明这个问题不是缩进的。
答案 2 :(得分:0)
你在第10行有一个去世错误,那么你只需要添加一个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')
答案 3 :(得分:0)
正如其他人所指出的那样,python IDLE只允许一次执行一个代码块。在这种情况下,while循环是一个“块”。最后一个print语句在此块之外,因此无法执行。