Afficher les nombres pair entre 1 et n en python
RésoluBonjour
J'écris ce programme pour afficher les nombres pair entre 1 et 100 python mais il ne fonctionne plus.
n = int(input("donner n "))
i = 0
while i < n and i % 2 == 0:
i = i + 1
print(i)
Aidez-moi s'il vous plait !
A voir également:
- Python pair impair
- Nombre pair python - Meilleures réponses
- Vérifier si un nombre est pair ou impair en python - Meilleures réponses
- Citizen code python - Accueil - Outils
- Fonction affichage des nombre pair ✓ - Forum PHP
- Afficher les nombres pairs dans un intervalle entre 18 et 45 ✓ - Forum Python
- Python 3.41 Programme nombre pair/impair ✓ - Forum Python
- Citizen code python solution - Forum Python
2 réponses
Bonjour,
Le test de la boucle while fait que la boucle ne se poursuit que si i est plus petit que n et si i est pair. Or comme i est incrémenté de 1 à chaque tour de boucle, le test s'invalide dès que n passe de 0 à 1. En réalité, il y a confusion entre le critère d'arrêt de la boucle et le critère d'affichage.
Le code devient correct si on écrit :
n = int(input("donner n "))
i = 0
while i < n:
if i % 2 == 0:
print(i)
i = i + 1
Maintenant, il y a plusieurs choses qui sont très discutables :
- une boucle for serait bien plus adaptée
- il serait bien plus logique d'incrémenter i de 2 à chaque tour de boucle. Cela diviserait par deux le nombre de tours de boucle et éviterait d'avoir à tester la parité de i.
n = int(input("donner n "))
for i in range(0, n, 2):
print(i)
Bonne chance