tags:

views:

1243

answers:

8

I am trying to use the import random statement in python, but it doesn't appear to have any methods in it to use.

Am I missing something?

+2  A: 

I think you need to give some more information. It's not really possible to answer why it's not working based on the information in the question. The basic documentation for random is at: http://docs.python.org/lib/module-random.html

You might check there.

jamuraa
A: 

Can you post an example of what you're trying to do? It's not clear from your question what the actual problem is.

Here's an example of how to use the random module:

import random
print random.randint(0,10)
Chris AtLee
+1  A: 
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
>>>
Vinko Vrsalovic
A: 

Seems to work fine for me. Check out the methods in the official python documentation for random:

>>> import random
>>> random.random()
0.69130806168332215
>>> random.uniform(1, 10)
8.8384170917436293
>>> random.randint(1, 10)
4
Chris Bunch
A: 

Works for me:

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'
Thomas Vander Stichele
+14  A: 

You probably have a file named random.py or random.pyc in your working directory. That's shadowing the built-in random module. You need to rename random.py to something like my_random.py and/or remove the random.pyc file.

To tell for sure what's going on, do this:

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

That will show you exactly which file is being imported.

Jerry Hill
A: 

Is it possible that the script you run is called random.py itself?

ΤΖΩΤΖΙΟΥ
+3  A: 

This is happening because you have a random.py file in the python search path, most likely the current directory.

Python is searching for modules using sys.path, which normally includes the current directory before the standard site-packages, which contains the expected random.py.

This is expected to be fixed in Python 3.0, so that you can't import modules from the current directory without using a special import syntax.

Just remove the random.py + random.pyc in the directory you're running python from and it'll work fine.

Johan Dahlin