2014-06-26 73 views
1
while x <= 9: 
    result = usertype() 
    if result == 'Correct': 

我對結果的「結果=用戶類型的「T」()。任何人都可以解釋這種接收縮進錯誤?Python的縮進錯誤while循環

*編輯 我曾嘗試重寫它,我檢查確認所有的縮進確實是縮進而不是空格,現在變得非常沮喪和非常困惑,我想這可能是上一行中導致問題的東西。從命令提示符複製錯誤,因爲IDLE不適用於我:

File "<stdin>", line 5 
    result = usertype() 
     ^
IndentationError: expected an indented block 
>>>   if result == 'Correct': 
    File "<stdin>", line 1 
    if result == 'Correct': 
    ^
IndentationError: unexpected indent 
>>>    x = x + 1 
    File "<stdin>", line 1 
    x = x + 1 
    ^
IndentationError: unexpected indent 
>>>    y = y + 5 
    File "<stdin>", line 1 
    y = y + 5 
    ^
IndentationError: unexpected indent 
>>>   else: 
    File "<stdin>", line 1 
    else: 
    ^
IndentationError: unexpected indent 
>>>    x = x + 1 
    File "<stdin>", line 1 
    x = x + 1 
    ^
IndentationError: unexpected indent 
>>>    y = y - a2 
    File "<stdin>", line 1 
    y = y - a2 
    ^
IndentationError: unexpected indent 
>>>  return y 
    File "<stdin>", line 1 
    return y 
    ^
IndentationError: unexpected indent 

解決! 我不知道如何,但我複製粘貼我的代碼到空閒,untabified所有地區,然後再次製表符。我在其他地方讀過這麼做,所以問題解決了!

這裏是整個程序:

import random 

def usertype(raw_input): 
    randletter = random.choice('qwer') 
    print randletter 
    userinput = raw_input('') 
    if userinput == randletter: 
     return 'Correct' 
    else: 
     return 'Incorrect' 

def usertypetest(raw_input): 
    x=0 
    y=0 
    while x <= 9: 
     result = usertype() 
     if result == 'Correct': 
      x = x + 1 
      y = y + 5 
     else: 
      x = x + 1 
      y = y - a2 
    return y 

print usertypetest(raw_input) 
+2

你在混合標籤和空格嗎?這通常是這些類型錯誤的原因。 – iCodez

+0

是...從...按「輸入」鍵入並鍵入新代碼 –

+0

我重寫了代碼,仍然收到此錯誤。我現在將發佈整個程序。 – Bretsky

回答

5

張貼沒有什麼問題的代碼。但是,您的文件中可能混合了製表符和空格,導致Python對縮進感到困惑。檢查您的文本編輯器設置,看看您是否可以突出顯示這些字符。

+0

我查過了,他們都是標籤。我重寫了錯誤的地方,但沒有運氣。 – Bretsky