python 2.5中的随机不起作用?

时间:2020-03-05 18:56:31  来源:igfitidea点击:

我试图在python中使用import random语句,但是似乎没有任何方法可以使用。

我想念什么吗?

解决方案

回答

我认为我们需要提供更多信息。根据问题中的信息,实际上不可能回答为什么它不起作用。随机的基本文档位于:
https://docs.python.org/library/random.html

我们可以在那里检查。

回答

我们可以举一个我们想做的事的例子吗?从问题尚不清楚实际的问题是什么。

这是如何使用随机模块的示例:

import random
print random.randint(0,10)

回答

Python 2.5.2 (r252:60911, Jun 16 2008, 18:27:58)
[GCC 3.3.4 (pre 3.3.5 20040809)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> random.seed()
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>> random.randint(0,3)
3
>>> random.randint(0,3)
1
>>>

回答

似乎对我来说很好。随机查看官方python文档中的方法:

>>> import random
>>> random.random()
0.69130806168332215
>>> random.uniform(1, 10)
8.8384170917436293
>>> random.randint(1, 10)
4

回答

为我工作:

Python 2.5.1 (r251:54863, Jun 15 2008, 18:24:51) 
[GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>> brothers = ['larry', 'curly', 'moe']
>>> random.choice(brothers)
'moe'
>>> random.choice(brothers)
'curly'

回答

工作目录中可能有一个名为random.py或者random.pyc的文件。这掩盖了内置的随机模块。我们需要将random.py重命名为my_random.py之类的名称和/或者删除random.pyc文件。

为了确定发生了什么,请执行以下操作:

>>> import random
>>> print random.__file__

这将确切显示要导入的文件。

回答

我们运行的脚本是否有可能被称为random.py本身?

回答

发生这种情况是因为我们在python搜索路径中有一个random.py文件,很可能是当前目录。

Python正在使用sys.path搜索模块,该文件通常在标准站点软件包之前包含当前目录,该目录包含预期的random.py。

预期这将在Python 3.0中修复,因此我们必须使用特殊的导入语法才能从当前目录导入模块。

只需从运行python的目录中删除random.py + random.pyc,它就可以正常工作。