Python IDLE上的缩进错误

时间:2016-09-20 11:05:05

标签: python indentation

我只是关注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

4 个答案:

答案 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语句在此块之外,因此无法执行。