Python无效的其他位置(初级)

时间:2016-02-23 07:21:48

标签: python if-statement

我在else语句后遇到语法错误。是因为缩进吗?

    if choice == 2:
        actor = input('Enter actor:')
        actorLower = actor.lower()
        for name in actors:
            nameLower = name.lower()
            if actorLower in nameLower:
                print(actors[name])
        else:
            print('Actor not found')
    elif choice == 1:
        movie = input('Enter movie:')
        print(moviedict[movie])
        else:  #**This is where I'm getting the syntax error**
            print('Movie not found')

    elif choice != 0:
            print('Invalid choice')
                       query('movies.txt')  

2 个答案:

答案 0 :(得分:1)

简单来说,else表示,否则,因此您必须指定有效条件(if关键字)以及此if的情况不符合(即else

从第二个区块的示例:

elif choice == 1:
    movie = input('Enter movie:')
    print(moviedict[movie])
    else:
        print('Movie not found')

无效,因为

else:
    print('Movie not found')

没有if,你从不测试这部电影是否属于dictionnary。解决方法是:

movie = input("Enter movie:")
if movie in moviedict.keys():
    print(moviedict[movie])
else:
    print('Movie not found')

在这种情况下会是一个解决方案。你的第一个“未找到演员”

也是如此

答案 1 :(得分:0)

此处发生错误

elif choice == 1:
        movie = input('Enter movie:')
        print(moviedict[movie])
        else:
            print('Movie not found')

您添加了else语句,但没有if。这就是它说无效else展示位置的原因。在if之前添加else或删除其他部分。