Python'function'对象没有属性'uniform'

时间:2016-07-06 18:54:20

标签: python

我对Python非常陌生(因为这是我编写的第一个脚本),而我只是在努力创造一些可行的东西。

我写了以下内容:

# Roll the Dice

from random import randint

x = randint.uniform(1, 6)
y = randint.uniform(1, 6)

print str(x + y)

这应该只返回2到12之间的任何整数,但是当我尝试运行它时,我收到以下错误消息:

Traceback (most recent call last):
  File "C:/FilePath/Python Testing.py", line 5, in <module>
    x = randint.uniform(1, 6)
AttributeError: 'function' object has no attribute 'uniform'

我觉得这是一个超级简单的脚本,不应该失败,但由于我对此很新,我甚至不知道从哪里开始排除故障。我发现this问题类似,但解决方案不适合我的问题(或者我认为)。

我通过PyCharm 2016.1.4使用Python 2.7.12

感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

您正在混合模块和功能。 randint是随机模块中的一个函数,因为它是统一的。而不是仅加载randint函数,加载整个模块。有关详细信息,请参阅https://docs.python.org/2/library/random.html

# Roll the Dice

import random

x = random.randint(1, 6)
y = random.randint(1, 6)

print str(x + y)

x = random.uniform(1, 6)
y = random.uniform(1, 6)

print str(x + y)

答案 1 :(得分:1)

uniformrandint都是random模块中定义的函数*。

from random import uniform
x = uniform(1, 6)

*不完全;有一个模块级全局RNG,其方法可以作为模块级名称访问。