gratifiant > comp.lang.* > comp.lang.python

Jonathannnn (03/12/2019, 23h29)
Bonjour,
Depuis peu je suis sur Python et je reçois le même message d'erreur qui es
"TypeError: 'module' object is not callable". Je suis allé sur d'autre foru
mais je ne comprends pas mon erreur. Voici mon programme :
from random import randint
import random
def parcoursfourmisurtriangle(n):
a=0
b=0
c=0
randint=random(1,3)
p=randint(1,3)
for deplacement in range(n):
alea=random()
if(p==1):
if(alea<0,75):
p=2
b=b+1
else:
p=3
c=c+1
elif(p==2):
if (alea<0,75):
p=3
c=c+1
else:
p=1
a=a+1
elif(p==3):
if(alea<0,75):
p=1
a=a+1
else:
p=2
b=b+1
return(a/n,b/n,c/n)
Benoit Izac (04/12/2019, 00h16)
Bonjour,

Le 03/12/2019 à 22:29, Jonathannnn a écrit dans le message
<-ZKdnfFwIp08TnvAnZ2dnUU798zNnZ2d> :

> Depuis peu je suis sur Python et je reçois le même message d'erreur qui est
> "TypeError: 'module' object is not callable". Je suis allé sur d'autre forum
> mais je ne comprends pas mon erreur. Voici mon programme :
> from random import randint
> import random


random représente le module que tu as importé (de type class 'module').

> def parcoursfourmisurtriangle(n):
> a=0
> b=0
> c=0
> randint=random(1,3)


Et là tu l'appelles avec des arguments ; ça n'a pas de sens puisque
c'est un module. J'imagine que ce que tu veux c'est random.randint(1, 3)
et c'est ce que tu fais très bien juste en dessous vu que tu as importé
randint (de type class 'method'). Tu noteras également que tu "écrases"
randint (la fonction du module random) lorsque tu fais « randint = ? ».

> p=randint(1,3)
> for deplacement in range(n):
> alea=random()


Même problème ici.

alea = random.random() # la fonction random du module random
Discussions similaires