修改if语句中的字典

时间:2017-07-26 20:40:54

标签: python if-statement

我一直在尝试用Python制作一个基本的文本游戏,我正在使用词典来包含玩家的信息。我想这样做,当玩家的健康状况达到0时,代码将停止运行。我很难做到这一点。我的字典,在我的代码的开头,看起来像这样:

    playerAtt = {}
    playerAtt["Weapon"] = "Baseball bat"
    playerAtt["Party"] = "Empty"
    playerAtt["Health"] = 15
    playerAtt["Cash"] = "$100"
    print(playerAtt)

    if playerAtt['Health'] <= 0:
        exit()

我写的底部部分试图让玩家的健康状况达到零时停止运行,但似乎没有效果。在我的游戏的一个路径中,您的健康状况设置为零,游戏应该结束,但程序继续运行:

    townChoice = raw_input("You met a traveler in the town. 'Yo. I'm Bob. Let's be friends.' Will you invite him to your party? Y/N\n")

    if townChoice == 'y' or townChoice == 'Y':
        print("That kind traveler was not such a kind traveler. He stabbed you with a machete. RIP " + Name + '.')
        playerAtt['Health'] == 0

当你到达游戏的这一部分时,它只是打印信息,然后继续下一个决定。在这种情况下,我可以通过在print命令下执行exit()手动结束程序,但是在某些情况下玩家只会失去一小部分健康状况,并且最终会达到零。对不起,如果这是一个愚蠢的问题,我只在Python上工作了几天。

2 个答案:

答案 0 :(得分:0)

当您将玩家的生命值设置为0时,您有两个“=”

答案 1 :(得分:0)

我在定义

时放了2 ==而不是1 =
    playerAtt["Health"]. 

另外,我需要确保它一直在检查玩家的健康状况是否为零,所以我使用了一个while循环。我用了

    while playerAtt["Health"] = 0:
        deathmsg()
        exit()

修复它。 deathMsg是我用来显示随机死亡消息的函数,以获取更多信息。