par hdci » 07 Avr 2021, 12:12
Bonjour,
tel que le programme est écrit, la boucle "while" tourne indéfiniment.
En effet, la boucle "while" ne comporte que les instructions "n=n+1" et "p=randint(-1,1)".
Or la boucle while s'arête quand l<=0, et la variable l n'est jamais modifiée . Comme elle vaut 10 initialement, elle reste indéfiniment à 10 donc est toujours strictement positive : la condition "l>0" est toujours vraie.
Il y a sûrement un problème d'indentation...
Pour rappel : un bloc d'instructions, en python, commence après un "deux-points" introduit par exemple par une condition, et comporte toutes les lignes qui sont indentées d'au moins le même espace que la première ligne du bloc.
Donc ici le bloc contrôlé par "while" s'arête sur la ligne au-dessus du premier "if" puisque l'indentation du "if" qui est aligné au même niveau que le "while") indique la fin du bloc.
Il n'y a que 10 types de personne au monde : ceux qui comprennent le binaire et ceux qui ne le comprennent pas.