Finir ma boucle
J'ai créé programme qui en utilisant le modulo indique si un nombre entier est pair ou impair en le tapant au clavier. Je voudrais faire en sorte de pouvoir sortir de ce programme en tapant la lettre la lettre « s » avec break mais je n'y arrive pas.
code qui marche :
code qui n marche pas :
code qui marche :
while True:
n=int(input("entrez un nombre :"))
if n%2==0:
print("pair")
else:
print("impair")
code qui n marche pas :
while True:
n=int(input("entrez un nombre :"))
if n%2==0:
print("pair")
else:
print("impair")
if ("s")
break
4 réponses
-
Alors Anonyme,
Tu l'a finie, ta boucle ?
(avec ma réponse de 15h03) ...-
-
@AnonymeAh super, fais voir ton code !
-
@Phil_1857
while True:
n = input("entrez un nombre :")
if n == "s":
break
if int(n) % 2 == 0:
print("pair")
else:
print("impair")
merci en tt cas -
@AnonymeBonjour,
Tu va pouvoir marquer cet appel comme résolu...
Mais, si je peux me permettre, une dernière chose:
si tu tapes 'a' (par exemple) au lieu de 's'if int(n) % 2 == 0:
va se planter
moi je ferais ca:
try: n=int(n) if n % 2 == 0: print("pair") else: print("impair") except: print("erreur, n n'est pas un entier !")
Il faut toujours assurer tous les cas -
@Phil_1857Ok merci du conseil
-
-
ContributeurBonjour Anonyme,
Quand on signale une erreur, il faut en indiquer le contenu et la ligne sur laquelle elle est notifiée.
En l'occurrence, sur la ligne 7, puisque vous testez le modulo 2 de n, il faut écrire:
if n%2=="s" : break et non if n%=="s" : break
Les messages d'erreur servent à identifier, sinon l'endroit exact, mais l'indication erreur de syntaxe invite à examiner caractère par caractère la ligne en question.
Cordialement -
Bonjour Anonyme,
lorsque tu saisi n avec input, c'est un entier
or s est une chaine de caractères apparemment : if ("s")
donc : problème !
n=int(input("entrez un nombre :"))
si tu entre la lettre s, ca plante ici-
-
@AnonymePourtant, c'est logique: ne saisi pas un entier mais une chaine !
si n='s', on sort tout de suite
sinon on converti n en int et on fait le test
boucle reponse = input('Entrer un nombre ou s pour arrêter') si reponse == 's' : break reponse = int(reponse) et la on fait le test avec %2 -
@Phil_1857Okay merci je vais essayer ;)
-
-
-
-
ModérateurBonjour
La lettre "s" .. tu la renseignes dans l'input non ?
Dans ce cas, elle est stockée dans ta variable n ....