probème avec if dans python2
salut à tous
voici un programme simplissime qui marche dans python3
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
a=1
a=eval(input("entrez un nombre : ")) #pour python3
if(a==33):
print("trente-trois")
if (a<5):
print("trop petit")
elif (a>5):
print("trop grand")
else:
print("bravo")
print(a) |
j'ai besoin de faire le même dans python2 pour mes élèves
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
a=1
a=(raw_input("entrez un nombre : ")) #pour python2
if a==33:
print("trente-trois")
if a<5:
print("trop petit")
elif a>5:
print("trop grand")
else:
print("bravo")
print(a) |
les nombres entrés par l'utilisateur sont toujours trop grands et le 33 ne fonctionne pas
je n'arrive pas à trouver dans python2 comment faire que ces tests fonctionnent.
ça n'a pas l'air compliqué pourtant
comment faire ?
inversement, le code suivant marche dans python2 mais pas dans python3
c'est à y perdre son latin...
Code:
1 2 3 4
| a=2;secret=3
while (a!=secret):
a=(input("essayez un nombre : "))
print("bravo") |
EAFP vs LBYL pour un débutant ?
Bonjour,
Le résultat est effectivement le même... Mais :
N'ayant pas ici, vu le code, de considération 'à la nanoseconde' n'est il pas plus sage de proposer une condition if à un 'débutant' plutôt que de gérée une exception ?
Proposer, systématiquement, une solution basée sur try pour des conditions aussi simple n'est ce pas amener le lecteur a s'habituer au try et le mener, par la suite, à des codes capilotractés (sorry pour le plagia wiztricks) ?
A méditer il me semble
PauseKawa