功能我刚刚给我一个'没有定义'错误

时间:2013-11-18 16:02:09

标签: python function python-3.x

我正在尝试创建一个函数来计算一个数字出现在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

我是否遗漏了应该在主代码中的骰子的重要内容?

2 个答案:

答案 0 :(得分:0)

您之前定义过dice吗?

您需要为骰子指定一个值。

答案 1 :(得分:0)

您正在尝试使用未尝试使用它的命名空间中定义的变量dice。您在dice中有rollDice但此变量在此功能之外无法使用。

您可以使用以下代码将返回值绑定到新变量,然后再使用它。

dice = rollDice()
print(countVals(dice))

如果您只需要countVals中的值以及外部命名空间中的其他位置,则可以使用此快捷方式。

print(countVals(rollDice()))