【发布时间】:2019-04-09 02:21:31
【问题描述】:
我正在尝试调用包含在另一个函数中的函数。我知道每个内部函数都是单独工作的,因为我在将它们组合到 rollDice() 之前对它们进行了测试。
当我尝试运行代码时,它始终告诉我基本上每个变量(d20、d10 等)都是未定义的,即使我正在运行 rollDice() 函数。
如何让我的内部函数 (d6(roll6)) 输出具有 rollDice(roll) 函数后分配的值?
def diceRoll(roll):
def d20(roll20):
import random
roll20 = random.randint(1,20)
print("The roll is ", roll20)
return roll20
def d12(roll12):
import random
roll12 = random.randint(1,12)
print("The roll is ", roll12)
return roll12
def d6(roll6):
import random
roll6 = random.randint(1,6)
print("The roll is ", roll6)
return roll6
####### example of other part of code
def generateDungeon():
diceRoll(roll)
numberOfRooms = roll6
print("The roll was: ", roll6)
if numberOfRooms > 1:
print("There are ", numberOfRooms, "rooms in this dungeon.")
else:
print("There is only 1 room in this dungeon.")
return numberOfRooms
【问题讨论】:
-
你没有包括你对
d6()等的调用,所以我们无法推断发生了什么。此外,我们需要查看错误消息的确切文本。并且作为样式注释,您不需要将roll6等定义为参数。