簡體   English   中英

使用簡單代碼的 Python 縮進問題,if,else

[英]problem with Python indentation with simple code, if, else

當我在輸入else:后按回車鍵移動到下一行時,它會給出錯誤縮進,無論我如何對齊它,我嘗試了 4 個空格,但一切仍然無法正常工作。 我確保else與書中的if完全一致,但仍然出錯。

有人可以向我解釋縮進是如何工作的嗎? 我正在使用 Python 2.7

代碼:

if x%2 == 0:
    print "Even"
else: 
    print "Odd"
print "done with conditional"

控制台會話的屏幕截圖

假設 python 具有反向層次結構,如倒置的三角形。

  1. 當您想在第一級編寫函數/循環/條件時,我們會在第二級的這三個部分中編寫我們正在編寫的任何代碼。

  2. 在您的代碼中,“if”和“else”位於第一級。 所以不要在這些前面留任何空格。

  3. 'if' 和 'else' 中的打印語句應該具有與第二級相同的制表符空間或空格。

  4. 外部打印語句不會有空格,因為它再次來到第一級。

希望這可以幫助

在 Python 控制台中,使用正數空格或制表符時一切正常; 所以這些例子中的任何一個都可以工作:

if True:
 print('Hello')
else:
 print('Not hello')

if True:
    print('Hello')
else:
    print('Not hello')

if True:
        print('Hello')
else:
        print('Not hello')

編輯要搜索問題出在哪里,請嘗試此答案 稱呼

python -m tabnanny <your_script>.py

你會得到一個輸出,告訴你哪一行是問題。

示例輸出:

'test.py': Indentation Error: unindent does not match any outer indentation level (<tokenize>, line 12)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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