J'ai besoin d'etre eclairé...

Résolu
vb_shootinsplif Messages postés 6 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 18 juin 2005 - 17 juin 2005 à 18:20
cs_Bl0tCh Messages postés 74 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2008 - 18 juin 2005 à 17:10
Bonjour ,
je voulais savir si on pouvait en python gerer les "réponses" de l'utilisateur ?

par exemple, je fais en ce moment un prog de gestion :

print "Vous avez choisi la simulation d'emprunt !\nC'est parfait !"
mon = input("A combien s'évalue le pret que vous voulez effectuer ?")
dur = input("Combien de temps doit durer le remboursement ? (en années) ")
tau = input("a quel taux ? (en %) ")


j'aimerai à ce moment pouvoir verifier que l'utilisateur me donne bien :


- une reponse
- des chiffres positifs


et je suis un poil perdu ..voilà
merci

4 réponses

cs_Bl0tCh Messages postés 74 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2008
18 juin 2005 à 17:10
mince erreur ds le code scuse :
while 1:
try:
choix = input("Bienvenue !\nQue voulez vous faire ? :\n1 - une simulation d'emprunt ?\n2 - Un calcul de valeur acquise ?\n3 - Un test de rentabilité ?\n0 - Quitter\n")
except:
print 'Aucune reponse'
continue
if choix == 1: bla
elif choix == 2:bla
elif choix == 3:bla
elif choix == 0: break #hop on sort de la boucle, prog fini
3
cs_Bl0tCh Messages postés 74 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2008
17 juin 2005 à 19:20
input te renvoie ce que tape lutilisateur en lui donnant le type adapté. Tu na plus qu'a faire des petites verifications basiques.

Genre pour savoir si il a rentrer un nombre positif
if(dur<0) : print 'error'
else : #ok c bon

pour savoir si une chaine est vide :
if(chainne=='') : print 'chaine vide'
0
vb_shootinsplif Messages postés 6 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 18 juin 2005
18 juin 2005 à 12:39
nan y a rien a faire ... ca ne veut pas

je vais mieux m'expliquer :

mon prog commence par:
**
choix = input("Bienvenue !\nQue voulez vous faire ? :\n1 - une simulation d'emprunt ?\n2 - Un calcul de valeur acquise ?\n3 - Un test de rentabilité ?\n0 - Quitter\n")
**
ensuite je pars en while
**
while choix != 0:

if(choix=='') : print 'chaine vide'
elif choix == 1:bla
elif choix == 2:bla
elif choix == 3:bla
**

mais quand je lance le prog j'attend la question

**
Bienvenue !
Que voulez vous faire ? :
1 - une simulation d'emprunt ?
2 - Un calcul de valeur acquise ?
3 - Un test de rentabilité ?
0 - Quitter
**
là.. j'appuie sr entree et hop erreur
ca m'affiche

Traceback........
File "<string>", line 0

^
SyntaxError: unexpected EOF while parsing

je suis perdu..
0
cs_Bl0tCh Messages postés 74 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2008
18 juin 2005 à 17:09
Je vien de tester un input sans reponse, et choze etonnanate, contrairement à un raw_input, input declenche une exception lorsque l'on appuie directe sur entree ^^ :
>>> input('salut')
salut
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<string>", line 0


^
SyntaxError: unexpected EOF while parsing
>>> raw_input('salut')
salut
''
>>>

Donc tu peux utiliser try/except pour gerer ça:

while 1:
try:
choix = input("Bienvenue !\nQue voulez vous faire ? :\n1 - une simulation d'emprunt ?\n2 - Un calcul de valeur acquise ?\n3 - Un test de rentabilité ?\n0 - Quitter\n")
except:
print 'Aucune reponse'
continue
if(choix=='') : print 'chaine vide'
elif choix == 1: bla
elif choix == 2:bla
elif choix == 3:bla
elif choix == 0: break #hop on sort de la boucle, prog fini
0
Rejoignez-nous