Python 3中的if else语句语法错误

时间:2018-09-24 22:55:09

标签: python python-3.x if-statement

#--------------input-------------#
def getmove():
    global room,posx,posy,moves,dead,inventory,foods,drinks,food,water
    move=input()
    if move == 'e':
        posx=posx+1
    if move == 'w':
        posx=posx-1
    if move == 's':
        posy=posy+1
    if move == 'n':
        posy=posy-1
    if 'grab' in move:
        additem(move,inventory)
    if move == 'inventory':
        print(inventory)
    if move == 'save':
        moves-=1
        food+=1
        water+=1
        save(posx,posy,moves,dead,food,water)
    if move == 'load_save':
        moves-=1
        food+=1
        water+=1
        load_save()
    if move == 'search':
        search(inventory)
    if move == 'eat':
        food+=4
        eat()
    if move == 'drink':
        water+=4
        drink()
    if food <= 2:
        print('You start to feel hungry')
    if water <=2:
        print('You start to feel thirsty')
    if food == 0 or water == 0:
        dead = True
        seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
    moves+=1
    food-=1
    water-=1
    else:
        print('I dont understand')
        moves-=1
        food+=1
        water+=1
    #print(posx,posy,moves,dead)
    getroom(posx,posy,moves,dead,room)
    #print(posx,posy,moves,dead)
    getmove()

我在大学时就编写了一个python程序,用于一款基本游戏,它可以正常工作,但是几年后它停止工作,并且我看不到任何问题

当我运行程序时,它抱怨else语句上的语法无效,但是我没有发现任何问题,但是总的来说,我距编程已经有将近两年的时间了。有人可以帮我了解我做错了什么吗?

如果需要,我可以添加整个程序,这只是输入的一部分

非常感谢您:)

1 个答案:

答案 0 :(得分:0)

检查这部分代码:

if food == 0 or water == 0:
    dead = True
    seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
moves+=1
food-=1
water-=1
else:
    print('I dont understand')
    moves-=1
    food+=1
    water+=1

您在if和其后的else之间有代码。 这将导致语法错误。

if food == 0 or water == 0:
    dead = True
    seeifdead(room,posx,posy,moves,dead,inventory,foods,drinks)
    moves+=1
    food-=1
    water-=1
else:
    print('I dont understand')
    moves-=1
    food+=1
    water+=1

将其与以上部分进行比较,看看有什么区别。