不明白为什么我的函数不能被调用

时间:2020-10-23 16:33:59

标签: python python-3.x

我尝试使用 python 创建一些基于文本的rpg。 我想做的第一件事是输入装备 装甲武器

def find_armor(x):
    if x=="bad armor":
        armor=bad_armor
    if x=="good armor":
        armor=good_armor

##item
armor=[0,0]
bad_armor=["bad armor",300]
good_armor=["good armor", 500]

##choose
option1,option2=input(">").split(" ",1)
if option1=="equip":
    find_armor(option2)

##ui
armor_name=armor[0]
armor_point=armor[1]
print("your armor:",armor_name,armor_point)

这就是问题所在

我的函数find_armor没有调用我输入的任何内容。

如果我的第一个单词是“ equip ”,则输出始终为:your armor: 0 0

1 个答案:

答案 0 :(得分:-1)

在函数中,变量随局部范围而变化。然后,先使用global armor。并修复错误的缩进:

def find_armor(x):
  global armor
  if x=="bad armor":
    global bad_armor
    armor=bad_armor
  elif x=="good armor":
    global good_armor
    armor=good_armor