" randint"功能在功能内意外工作?

时间:2014-11-25 21:20:40

标签: python function python-3.x random

我需要在函数内部使用random.randint,但它总是会返回奇怪的结果。但是,当我在函数之外尝试它时,它可以很好地工作。

这是一个快速的功能,可以选择1到6之间的数字来说明我的观点:

import random

def dice():
    return random.randint(1, 7)

print(dice)

然后我得到一个输出:

<function dice at 0x0000000004314D90>

如果您能解释发生了什么以及如何预防,我将非常感激。

2 个答案:

答案 0 :(得分:3)

您需要调用dice函数,然后打印结果(返回值)。

print(dice())
#         ^^

在Python中,通过在其名称后面放置(...)来调用函数。如果你的函数接受了任何参数,它们就会进入...所在的位置并用逗号分隔:

func(arg1, arg2)

您当前的代码正在打印<function dice at 0x0000000004314D90>,因为这是您正在打印的函数对象的表示。

答案 1 :(得分:1)

你只是忘记了一组括号。它应该是

print(dice())

现在您正在打印功能对象。