我需要在函数内部使用random.randint
,但它总是会返回奇怪的结果。但是,当我在函数之外尝试它时,它可以很好地工作。
这是一个快速的功能,可以选择1到6之间的数字来说明我的观点:
import random
def dice():
return random.randint(1, 7)
print(dice)
然后我得到一个输出:
<function dice at 0x0000000004314D90>
如果您能解释发生了什么以及如何预防,我将非常感激。
答案 0 :(得分:3)
您需要调用dice
函数,然后打印结果(返回值)。
print(dice())
# ^^
在Python中,通过在其名称后面放置(...)
来调用函数。如果你的函数接受了任何参数,它们就会进入...
所在的位置并用逗号分隔:
func(arg1, arg2)
您当前的代码正在打印<function dice at 0x0000000004314D90>
,因为这是您正在打印的函数对象的表示。
答案 1 :(得分:1)
你只是忘记了一组括号。它应该是
print(dice())
现在您正在打印功能对象。