我正在尝试创建一个函数来计算一个数字出现在5个随机数列表中的次数,然后在新列表中生成它。直到最后,当我想测试它时,当我打印countVals函数时,它没有定义骰子,这似乎很好。我有一个以前的函数,它将骰子定义为5个随机数的列表。
def rollDice() :
dice = []
for i in range(5) :
dice.append(random.randint(1,6))
return (dice)
print(rollDice()) #Here is the previous function as requested
def countVals(dice):
present = 0 #present is how many times each number appears in dice
totals = []
for i in range (6):
for j in range(5):
if dice[j] == (j+1) :
present += 1
totals[j] = present
return(totals)
print(countVals(dice)) #getting the following error on this line:
打印(countVals(骰子)) NameError:未定义名称'骰子'
我想我只是心不在焉,但我该如何定义骰子?我以为它会在我之前的函数中定义,它创建了5个数字的列表,称为dice
我是否遗漏了应该在主代码中的骰子的重要内容?
答案 0 :(得分:0)
您之前定义过dice
吗?
您需要为骰子指定一个值。
答案 1 :(得分:0)
您正在尝试使用未尝试使用它的命名空间中定义的变量dice
。您在dice
中有rollDice
但此变量在此功能之外无法使用。
您可以使用以下代码将返回值绑定到新变量,然后再使用它。
dice = rollDice()
print(countVals(dice))
如果您只需要countVals
中的值以及外部命名空间中的其他位置,则可以使用此快捷方式。
print(countVals(rollDice()))