2016-09-20 102 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循環是一個'塊'。最後一個打印語句在這個塊之外,因此它不能被執行。