désolé je suis un peu un débutant avec la programmation mais je reçois une erreur de division flottante dans une boucle simple dont je ne suis pas sûr comment rectifier.éviter la division de flotteur zéro dans les boucles - python
est ici un code en python 2,7
import random
N = 100
A = []
p = 0
q = 0
k = 1
while k<=N:
x = random.random()
if x<= 0.5:
p+= 1
else:
q+=1
y = p/q
A.append(y)
k+=1
L'exécution de ce code donne une erreur de division zéro. que je ne suis pas capable de rectifier. Quelqu'un peut-il me dire comment rectifier cela?
Vous définissez 'q' sur zéro et après un premier aléatoire inférieur ou égal à 0.5 vous avez une division par zéro - simple. – Artur
hey les gars merci pour l'aide, ce que j'ai compris c'est que remplacer y = p/q avec y = p/(q + 0.000001) résout le problème. Bien que cela ressemble un peu à de la triche, mais ça marche! –