如何在Python中找到未声明的变量?

Mad*_*ung 0 python variables

最近我一直在创造一个游戏,但我遇到了问题.为了计算你对敌人的击中,它使用变量.

此时玩家可能购买或未购买过剑,因此我收到一条错误消息:"未声明的变量".有没有办法解决尚未声明的变量?

Lar*_*tig 8

你有两个选择.

首先是确保玩家总是有一个sword变量.None在玩家获得剑之前将其设置为,当您需要知道玩家是否拥有剑时,请检查变量是否为None:

 sword = None

 # do lots of stuff here

 if sword is None:
    print 'Hey, no sword!'
 else:
    print 'Chop, chop, chop!'
Run Code Online (Sandbox Code Playgroud)

如果剑不允许为空字符串或整数值为0,则写入此方法的另一种方法是:

 if sword:
    print 'Chop, chop, chop.'
Run Code Online (Sandbox Code Playgroud)

你的第二个选择是在try块中包含对sword变量的每个引用,并吞下可能引发的NameError:

 try:
    if sword == 10:
        print 'Choppity chop chop chop.'
 except NameError:
    pass
Run Code Online (Sandbox Code Playgroud)

第一种解决方案(更好).