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

2024-05-21 06:10:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用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没有调用我输入的任何内容

如果我的第一个单词是“装备”,那么输出总是:your armor: 0 0


Tags: name文本yourifdeffindrpgarmor
1条回答
网友
1楼 · 发布于 2024-05-21 06:10:51

在函数中,变量随局部范围而变化。然后在前面使用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

相关问题 更多 >