掷骰子并定义 dmg_to_enemy
Dice rolls and defining dmg_to_enemy
我在此函数中定义 dmg_to_enemy
时遇到问题。我想如果我使用 random.randint
在函数内定义 dmg_to_enemy
,然后使用 return 我就可以在函数外打印它。目前,当我 运行 这个代码时它 returns 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
变量dmg_to_enemy
在其父函数中是local,在它之外不存在。您似乎部分意识到这一点,因为您只有一行 return dmg_to_enemy
,尽管它的缩进级别意味着它只会 return 在该条件触发时 (dwarf_class == "Civilian"
) 有用的结果。降低缩进级别以使该部分起作用。
另一半是使用那个returned值,这就和
一样简单
dmg_to_enemy = dice_rolls_combat(dwarf_class)
尽管您可以使用任何其他变量名称 – 此变量与本地其他地方使用的变量无关。
我在此函数中定义 dmg_to_enemy
时遇到问题。我想如果我使用 random.randint
在函数内定义 dmg_to_enemy
,然后使用 return 我就可以在函数外打印它。目前,当我 运行 这个代码时它 returns 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
变量dmg_to_enemy
在其父函数中是local,在它之外不存在。您似乎部分意识到这一点,因为您只有一行 return dmg_to_enemy
,尽管它的缩进级别意味着它只会 return 在该条件触发时 (dwarf_class == "Civilian"
) 有用的结果。降低缩进级别以使该部分起作用。
另一半是使用那个returned值,这就和
一样简单dmg_to_enemy = dice_rolls_combat(dwarf_class)
尽管您可以使用任何其他变量名称 – 此变量与本地其他地方使用的变量无关。