Path: csiph.com!news.redatomik.org!news.izac.org!reader From: Benoit Izac Newsgroups: fr.comp.lang.python Subject: Re: Filtrer un nombre saisi Date: Tue, 12 Feb 2019 07:34:57 +0100 Message-ID: <87a7j1tsz2.fsf@izac.org> References: <5c61b502$0$15171$426a74cc@news.free.fr> Reply-To: benoit.izac@free.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: keg.izac.org; logging-data="19969"; mail-complaints-to="usenet@izac.org" Xref: csiph.com fr.comp.lang.python:3144 Bonjour, Le 11/02/2019 à 23:40, Lulu a écrit dans le message  : >>>> Avant d'écrire cette fonction, j'ai cherché en vain sur le web une >>>> fonction qui permette de "nettoyer" la saisie d'un utilisateur. >>> >>> Une façon de faire, c'est d'utiliser try ... except : >>> >>> rayon = input("Rayon du cercle ? ") >>> >>> try: >>> float(rayon) >>> except ValueError: >>> print("Saisissez un nombre, s'il vous plaît") >> >> je vais tester ça. > > Ah... > Ouiménon... Dans ma grande naïveté de débutant, je pensais que mon > script allait revenir de lui-même à la ligne qui demande un nombre... > > Mais non, j'ai juste le message d'erreur et mon script plante puisque la > chaîne saisie contenait un caractère alphabétique ;-( > > Il faudrait mettre ça dans une boucle, mais je n'en voie pas la > structure. > > Any help ? n = 'NaN' while True: r = input('Entrez un nombre : ') try: n = float(r) break except ValueError: pass print('La valeur de votre saisi est', n) -- Benoit Izac