bonjour,
j'ai dans mon programme la fonction raw_input, je dois entrer une valeur qui peut-être de ces différents types : 5M, 5e6, 500000 qui donnent tous les même résultats, dans mon prog, je dis que si c'est 5M qui est entré donc ça devient 5e6 en float, mais si je rentre la vrai valeur, ben mon programme plante. j'ai fait une condition sur le type qui est entré avec le raw_input, et quelque soit l'entrée 5M ou 5e6, le programme me renvoie type<str>.
j'ai voulu faire une condition, mais je ne sais pas comment l'écrire :
la condition serait que si mon entrée peut se transformer en float, alors condition 1, si l'entrée ne peut pas être transformer en float, alors deuxième condition...
voici l'exemple de mon code
si je rentre 5 voilà ce que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 startF = raw_input("Fréquence de départ : ( cliquer sur <ENTER> pour valider ) ") chk = "k" lcStartF = len(startF)-1 typStartF = float(startF) if typStartF == float() : print 'condition1' valFdeb = float(startF) else : if startF[lcStartF:] == chk : print 'condition2' valFdeb = float(startF[:lcStartF])*1e3 print 'valeur de départ', valFdeb
en un mot le prog ne rentre pas dans la condition 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Fréquence de départ : ( cliquer sur <ENTER> pour valider ) 5 valeur de départ Traceback (most recent call last): File "T:/Mesure dimensionnelle Paramètre S/Programme Python/freq test.py", line 17, in <module> print 'valeur de départ', valFdeb NameError: name 'valFdeb' is not defined
si je rentre 5k
donc blocage dès le départ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Fréquence de départ : ( cliquer sur <ENTER> pour valider ) 5k Traceback (most recent call last): File "T:/Mesure dimensionnelle Paramètre S/Programme Python/freq test.py", line 8, in <module> typStartF = float(startF) ValueError: invalid literal for float(): 5k
je retourne le truc dans tous les sens, mais je ne vois pas comment faire.
Merci pour votre aide
PAtricia
Partager