Forcer un utilisateur à entrer un réel
Bonjour,
Comme je débute en Python, je n'arrive pas à comprendre comment forcer un utilisateur à entrer un nombre réel et pas autre chose, quand on le lui demande.
Par exemple, si au début d'un programme, je fais afficher "entrez un réel", l'utilisateur peut essayer : *, sqrt(2), 1/2, toto, etc..., alors que j'attends un entier ou un non entier, mais en écriture décimale : 21, -0.314 , etc...
Je sais que input renvoie une chaîne de caractères ; existerait-il une fonction permettant de lire cette chaîne de caractères et de renvoyer TRUE s'il n'y a que des chiffres et 1 ou 0 point ?
Merci pour toute aide.
on peut rien rajouter derrière
Citation:
Envoyé par
lg_53
Le try except est en effet une bonne idée. Après là le message le message d'erreur ne va pas forcément être eplicite car n sera toujours de type float car c'est le type retourné par input !
Notez également que ici le programme s'arrête si l'utilisateur saisi une valeur non attendue. On pourrait faire une boucle while pour lui redemander de faire une nouvelle saisie clavier, et lui redemander tant que ce qu'il a entré n'est pas du format attendu.
bonjour jais teste votre code et cela fonctionnais mais après quand j, ai mis mon reste de code cela ne fonctionne pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| n=input('Veuillez entrer un nombre impaire superieur a 3 :')
try:
n= float(n)
print(n, 'est un nombre')
l = n*[0]
for i in range(len(l)): l[i] =1 *[0]
g = n - 1
print (l)
for loop in range(g):
l[0][0]=0
print(l)
except:
print('Erreur : Vous avez entré un élément de type lettre') |