我对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
感谢任何帮助!
答案 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)
uniform
和randint
都是random
模块中定义的函数*。
from random import uniform
x = uniform(1, 6)
*不完全;有一个模块级全局RNG,其方法可以作为模块级名称访问。