骰子滚动并定义dmg_to_enemy

问题描述 投票:1回答:1

我在此函数中定义dmg_to_enemy时遇到问题。我想出是否可以使用random.randint在函数中定义random.randint,然后使用return可以在函数外部打印它。当前,当我运行此代码时,它将返回dmg_to_enemy。我需要能够对其进行定义,以便可以将其用于其他功能。我是编码的新手,想知道我做错了什么。

dmg_to_enemy is not defined
python dice
1个回答
0
投票

变量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"

尽管您可以使用任何其他变量名-该变量与在其他地方本地使用的变量无关。

© www.soinside.com 2019 - 2024. All rights reserved.