无法理解 Python 代码中的空格或缺少缩进的位置:第 6 行:语法错误:输入错误 ()


def name_to_number(name): 
    if name=='rock'
        number=0
    elif name=='Spock'
        number=1
    elif name=='paper'
        number=2
    elif name=='lizard'
        number=3
    elif name=='scissors'
        number=4
    else
        print'Not a valid input'
    return number

您缺少每个if末尾的冒号和语句elif

这是无效的:

if name == 'rock'
    number = 0

Python 使用冒号来指示下一行应该是缩进块。如果你错过了这个冒号,那么python认为下一行不应该缩进。

这是有效的:

if name == 'rock':
    number = 0

作为一般调试原则,如果您收到错误消息并且看不到错误提到的行号有任何错误,请检查前一行。上一行中的错误可能不会被 python 解释器发现,直到它到达下一行并且无法解释它。

试试这个:

def name_to_number(name):
    if name=='rock':
        number=0
    elif name=='Spock':
        number=1
    elif name=='paper':
        number=2
    elif name=='lizard':
        number=3
    elif name=='scissors':
        number=4
    else:
        print 'Not a valid input'
        return number

对于 Python,缩进起着重要作用。在这里阅读: https://en.wikipedia.org/wiki/Python_syntax_and_semantics#Indentation

最新更新