Merci Cheval_Boiteux, en effet, je n'ai pas pensé à la while, c'est plus simple. Bon par contre, je n'arrive toujours pas à dire au code de revenir à la question 1 si "else" (donc a n'est pas dans l'intervalle [1,5]).
Je ne comprend pas pourquoi ça veut pas fonctionner là :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #!/usr/local/bin/python
# -*- coding: Utf-8 -*-
a = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement A : "))
while a>=0 and a<=5:
print("valeur enregistrée")
break
else:
print("mauvaise valeur")
continue
b = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement B : "))
c = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement C : "))
d = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement D : "))
e = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement E : "))
f = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement F : "))
x = float((((a*0.5)+b+(c*0.2)+d+(e*0.04)+f)/6)*100)
print(x) |
Si on enlève le "continue", ça fonctionne, mais ça passe à B. Càd que si je rentre 7, ça va me dire : mauvaise valeur, mais ça va passer à B et pas représenter la question 1. Pourtant, j'avais cru comprendre que break quittait la condition/boucle (je suis pas encore sûr d'utiliser les bons termes...) et que continue faisait en sorte de revenir au début de la boucle.
Mais là avec le continue ça représente pas la question 1, ça plante :
SyntaxError: 'continue' not properly in loop
Du coup, je fais ça mais je crois que c'est n'importe quoi, je crois pas que while accepte elif (?) et la "syntaxe" (enfin le code) me paraît mauvais (et effectivement il l'est !) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #!/usr/local/bin/python
# -*- coding: Utf-8 -*-
a = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement A : "))
while a>=0 and a<=5:
print("valeur enregistrée")
break
elif:
print("mauvaise valeur")
else:
continue
b = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement B : "))
c = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement C : "))
d = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement D : "))
e = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement E : "))
f = float(input("entrez un chiffre de 1 a 5 correspondant a l'événement F : "))
x = float((((a*0.5)+b+(c*0.2)+d+(e*0.04)+f)/6)*100)
print(x) |
Et ça me met :
1 2 3
| elif:
^
SyntaxError: invalid syntax |
grmblblbl..
Partager