循环时Python缩进错误

时间:2014-06-26 23:12:01

标签: python syntax while-loop syntax-error indentation

while x <= 9:
    result = usertype()
    if result == 'Correct':

我在“result = usertype()”的结果“t”上收到缩进错误。有人可以解释一下吗?

*编辑 我试过重写它,我检查确保所有的缩进都是缩进而不是空格。现在变得非常沮丧和困惑。我认为它可能是导致问题的前一行中的某些内容。

*编辑2 从命令提示符复制时出错,因为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

解决! 我不知道怎么做,但是我将我的代码粘贴到IDLE中,所有区域都没有修改,然后再次列表。我在其他地方读到了这样做,所以问题解决了!

以下是整个计划:

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)

1 个答案:

答案 0 :(得分:5)

发布的代码没有问题。但是,您的文件中可能有混合选项卡和空格,这会导致Python对缩进感到困惑。检查文本编辑器设置,看看是否可以突出显示这些字符。