【问题标题】:"randint" function working unexpectedly inside functions? [closed]“randint”函数在函数内部意外工作? [关闭]
【发布时间】:2014-11-25 21:20:39
【问题描述】:

我需要在函数内部使用random.randint,但它总是返回奇怪的结果。但是,当我在函数之外尝试时,它可以完美运行。

这里有一个快速函数,可以在 1 到 6 之间选择一个数字来说明我的观点:

import random

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

print(dice)

然后我得到如下输出:

<function dice at 0x0000000004314D90>

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

【问题讨论】:

    标签: python function python-3.x random


    【解决方案1】:

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

    print(dice())
    #         ^^
    

    在 Python 中,通过在函数名称后放置 (...) 来调用函数。如果您的函数接受任何参数,它们将转到 ... 所在的位置并用逗号分隔:

    func(arg1, arg2)
    

    您当前的代码正在打印 &lt;function dice at 0x0000000004314D90&gt;,因为那是您正在打印的函数对象的表示。

    【讨论】:

    • 天哪,我觉得自己很愚蠢...非常感谢。
    【解决方案2】:

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

    print(dice())

    现在您正在打印函数对象。

    【讨论】:

    • 天哪,我觉得自己很愚蠢...非常感谢。
    猜你喜欢
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多