我在此函数中定义dmg_to_enemy
时遇到问题。我想出是否可以使用random.randint
在函数中定义random.randint
,然后使用return可以在函数外部打印它。当前,当我运行此代码时,它将返回dmg_to_enemy
。我需要能够对其进行定义,以便可以将其用于其他功能。我是编码的新手,想知道我做错了什么。
dmg_to_enemy is not defined
变量dwarf_class = "Thane"
def dice_rolls_combat(dwarf_class):
if dwarf_class == "Thane":
dmg_to_enemy = random.randint(1, 8)
return dmg_to_enemy
elif dwarf_class == "Mekanik":
dmg_to_enemy = random.randint(1, 5)
return dmg_to_enemy
elif dwarf_class == "Ancestrite":
dmg_to_enemy = random.randint(1, 3)
return dmg_to_enemy
elif dwarf_class == "Prisoner":
dmg_to_enemy = random.randint(1, 5)
return dmg_to_enemy
elif dwarf_class == "Civilian":
dmg_to_enemy = random.randint(1, 4)
return dmg_to_enemy
dice_rolls_combat(dwarf_class) #outside of function
print(dmg_to_enemy) # outside of the function
在其父函数中为local,并且不在其外部。尽管单行dmg_to_enemy
的缩进级别表示仅在触发该条件(return dmg_to_enemy
)时才会返回有用的结果,但您似乎已经部分意识到了这一点。降低缩进级别以使该零件正常工作。
另一半是使用返回的值,这很简单
dwarf_class == "Civilian"
尽管您可以使用任何其他变量名-该变量与在其他地方本地使用的变量无关。