簡體   English   中英

Python IDLE上的縮進錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM