2016-09-20 51 views
0

我只是遵循python的基本原理,并且一直在使用IDLE,因为我发现实时测试脚本非常方便。关于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 

回答

1

您可以一次输入一条语句。 while循环考虑了循环本身,并且由于循环是代码块,所以其中的所有内容都可以。

最后print是一个新的命令。您必须先运行while循环,然后在解释器中键入print

+0

我以为是这样。感谢大家的帮助。 – user2212485

+0

你能接受答案来结束答案吗? –

1

您不能一次将多个语句粘贴到IDLE中。这个问题与缩进无关。 while循环构成了一个复合语句,最后的另一个是print

print('A') 
print('B') 

,这有一个问题,这一事实显示更清楚,问题ins't压痕之一:当您尝试一次粘贴到IDLE

下也有问题。

0

你在10号线的undentation错误,那么你只需要添加一个协商

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') 
0

正如其他人好心指出蟒蛇IDLE只允许在同一时间执行的代码只有一个街区。在这个例子中,while循环是一个'块'。最后一个打印语句在这个块之外,因此它不能被执行。