2010-11-14 4 views
12

ho qualche codice che assomigli a questo:errore random.randint

import random 

n = 0 
while n <= 50: 
    n = n+1 
    a = random.randint(1, 16) 
    b = random.randint(1, 5) 
    print n, ". ", a, "-", b, "= " 

Per qualche ragione, durante l'esecuzione di esso, ottengo il seguente errore: AttributeError: 'module' object has no attribute 'randint'. Tuttavia, non ho problemi durante l'esecuzione delle stesse query random.randint in IDLE. Come posso risolvere questo?

risposta

27

Hai un altro modulo chiamato "random" da qualche parte. Hai nominato il tuo script "random.py"?

+0

Immagino - si :) – khachik

+0

Grazie! Volevo solo aggiungere a questo - nel mio caso ho avuto una funzione chiamata casuale (quello che ottengo per avere i miei partner mi inviano la loro porzione di codice, lol) –

2

codice funziona bene per me, quindi è necessario avere un altro modulo chiamato "random" sul PYTHONPATH

Provare una dir (casuale) per vedere che cosa è in esso. Questo potrebbe rendere più facile ricordare perché hai un altro modulo chiamato random e dov'è.

4

Controlla il nome del tuo file! Nel tuo caso "random" è la parola chiave, non puoi usare "random" come nome di file. Fare attenzione che nessun file sia denominato random.py.

2

Se il nome file su cui si sta lavorando o un altro file nel progetto è denominato "random.py", il programma tenta di trovare la funzione randint in quella posizione e non riesce a trovarla.

È necessario modificare qualsiasi nome di file random.py in qualcos'altro. Dopo questo, "import random" si risolverà nel modulo "actual" random.py e userete con successo randint o qualsiasi altra funzione nel modulo.

Problemi correlati