Executer des actions en cas d'erreurs
Résolu
Deadgame77
Messages postés
121
Date d'inscription
Statut
Membre
Dernière intervention
-
Deadgame77 Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
Deadgame77 Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème : Alors je demande un truc au hasard ( x=input() ) sauf que mon but est d'obtenir au final un nombre (en int ou float).
Je pourrais simplement écrire x=int(input()) ou x=float(input()) mais si la personne qui exécute le programme tape une lettre par exemple, une erreur apparaît et le programme plante.
J'aimerais donc savoir si il y a un moyen pour que si ce qui est entré n'est pas un nombre, le programme demande de nouveaux x et ça en boucle jusqu’à obtenir un int ou un float.
J'ai bien trouver un moyen de redemander x dans le cas ou x est un str mais en redemandant x=input(), j'obtiens automatiquement un str et si je met x=int/float(input()), le programme plante si ce n'est pas un nombre qui est entré.
J'avais réussi avec la commande try mais au final, je redemandais une valeur de x, a l’intérieur du try et rien ne changeait.
Ce que je cherche, c'est donc une commande du type de except mais qui puisse être utilisée en plein milieu du programme afin que la conversion de x (si x est str) en int, si ca sort une erreur, soit interprétée de telle manière que x soit redemander en int ou float.
Voila si ça existe, je vous serais gré de connaitre une telle commande :)
Voici mon problème : Alors je demande un truc au hasard ( x=input() ) sauf que mon but est d'obtenir au final un nombre (en int ou float).
Je pourrais simplement écrire x=int(input()) ou x=float(input()) mais si la personne qui exécute le programme tape une lettre par exemple, une erreur apparaît et le programme plante.
J'aimerais donc savoir si il y a un moyen pour que si ce qui est entré n'est pas un nombre, le programme demande de nouveaux x et ça en boucle jusqu’à obtenir un int ou un float.
J'ai bien trouver un moyen de redemander x dans le cas ou x est un str mais en redemandant x=input(), j'obtiens automatiquement un str et si je met x=int/float(input()), le programme plante si ce n'est pas un nombre qui est entré.
J'avais réussi avec la commande try mais au final, je redemandais une valeur de x, a l’intérieur du try et rien ne changeait.
Ce que je cherche, c'est donc une commande du type de except mais qui puisse être utilisée en plein milieu du programme afin que la conversion de x (si x est str) en int, si ca sort une erreur, soit interprétée de telle manière que x soit redemander en int ou float.
Voila si ça existe, je vous serais gré de connaitre une telle commande :)
A voir également:
- Executer des actions en cas d'erreurs
- Cas ram - Guide
- Telechargement film d'action complet en francais - Télécharger - TV & Vidéo
- Comment désactiver le schéma de verrouillage en cas d'oubli - Guide
- Executer .sh ✓ - Forum Shell
- Télécommande universelle grundig 8 en 1 action - Forum Téléviseurs