Invalid literal for int() with base 10: 'g' / pas d'erreur de int/float

Signaler
Messages postés
7
Date d'inscription
vendredi 18 décembre 2020
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
31042
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 février 2021
-
Bonjour,
Depuis plusieurs heures, je ne trouve pas de réponses à mon problème, et sur les forums, il n'y a pas ce que je cherche, bref
Voici l'erreur :
Une exception s'est produite : ValueError
invalid literal for int() with base 10: 'g'

Et le code qui peut être assez utile :

lose = False
tentatives = 10

while lose == False:
number_entered = input("Entrez un nombre : ")
try:
number_entered = int(number_entered)
number_entered > 0

#number_entered correcte : nombre = a + de 0

if number_entered < number_to_find:
print("Essayez plus grand")
tentatives = tentatives - 1

if number_entered > number_to_find:
print("Essayez plus petit")
tentatives = tentatives - 1

if number_entered == number_to_find:
print("Gagné en", 10 - tentatives, "coups !")
break
except:
print("VALEUR INCORRECTE !")

1 réponse

Messages postés
31042
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
24 février 2021
7 407
Bonjour,

Là dans ce que tu donnes, number_to_find n'est pas défini, donc bien évidemment le try va tomber en erreur.

La ligne
number_entered > 0
n'a pas de sens, et tu ne testes pas les 10 tentatives atteintes.

PS : Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code