Je bug sur une ânerie de débutant! Help

ZephLarm -  
 ZephLarm -
Bonjour,

je code un quizz. ici j'arrive à avoir les deux réponses différente en fonction de la réponse à la question tant que celle ci est un entier.
j'aimerais pour rajouter la phrase "écris un chiffre" quand la réponse est en texte (cf elif)

Voici mon code :

question_taille = "Quelle est ta taille en centimètre ?"
print("J'aimerais en apprendre plus sur toi !")
reponse_question_taille = input(question_taille)

if int(reponse_question_taille) >= 170:
    print("wooo tu fais plus d'un mètre 70! tu es un géant!")
elif int(reponse_question_taille) is str(reponse_question_taille):
    print('écris un chiffre!')
else:
    print("rassure toi ce qui est petit est mignon!")




Comment dois-écrire la ligne elif pour dire : "si la réponse est un texte, tu dois écrire un chiffre.... tout en gardant le fonctionnement de if et esle qui fonctionne bien :)


Merci d'avance! Je m'y perds dans ma structure!

Configuration: Windows / Chrome 91.0.4472.114

7 réponses

jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

Tu pourrais avant, vérifier que c'est un nombre, en testant que la saisie ne contient que des chiffres.

question_taille = "Quelle est ta taille en centimètre ?"
print("J'aimerais en apprendre plus sur toi !")
reponse_question_taille =''
while (not reponse_question_taille.isdigit()):
   reponse_question_taille = input(question_taille)

if int(reponse_question_taille) >= 170:
    print("wooo tu fais plus d'un mètre 70! tu es un géant!")
else:
    print("rassure toi ce qui est petit est mignon!") 

0
ZephLarm
 
Super] merci je vais tester cela !

isdigit ? cool je connaissais pas je vais me renseigner sur la fonction !
while (not reponse_question_taille.isdigit()):

Voici comment j'ai utilisé tes données pour faire fonctionner le code. J'en comprends pas la toute logique mais en testant ça à finit par fonctionner ! Encore Merci !

question_taille = "Quelle est ta taille en centimètre ?"
print("J'aimerais en apprendre plus sur toi !")
reponse_question_taille = ''
reponse_question_taille = input(question_taille)

while (not reponse_question_taille.isdigit()):
    print("ecris un chiffre!")
    reponse_question_taille = input(question_taille)
if int(reponse_question_taille) >= 170:
    print("wooo tu fais plus d'un mètre 70! tu es un géant!")
else:
    print("rassure toi ce qui est petit est mignon!")
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
var.isdigit() est-ce que la variable var ne comporte que des chiffres ?

while (not reponse_question_taille.isdigit()): tant que la variable ne contient pas que des chiffres je boucle sur le bloc de code dépendant du while
0
ZephLarm > jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention  
 
Oui c'est ça ! Soit tu rentres une phrase et le programme de te demander d'écrire ta taille en chiffre. Et si tu réponds > 170 alors le programme dis que tu es grand sinon il te répond de pas t'inquiéter car ce qui est petit est joli :)

a la base je voulais programmer cette question avec if, elif & else pour m'entrainer, avec une structure :

IF réponse en chiffre Alors réponse (plus grand ou plus petit)
IF réponse n'est pas en chiffre alors redemander d'écrire un chiffre et renvoyer à l'INPUT(laquestion)

Mais j'ai pas réussit. Maintenant cela fonctionne très bien avec while (not reponse_question_taille.isdigit())
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

Tu peux enlever la ligne 4 ...
0
ilyasc Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   1
 
coucou,je m'incruste ^^

je voulais juste dire que il faut pas dire que c'est une ânerie de débutant
meme moi je suis pas très fort
moi j'essaye de faire des truc un peu complexe malgré mon age

a ui aussi tien un programme avec mi de ligne

print("J'aimerais en apprendre plus sur toi !")
reponse_question_taille = ''
reponse_question_taille = input("Quelle est ta taille en centimètre ? ")

while (not reponse_question_taille.isdigit()):
    print("ecris un chiffre!")
    reponse_question_taille = input("Quelle est ta taille en centimètre ? ")
if int(reponse_question_taille) >= 170:
    print("wooo tu fais plus d'un mètre 70! tu es un géant!")
else:
    print("rassure toi ce qui est petit est mignon!")
0
ZephLarm
 
Super Ilyasc oui j'essaye d'apprendre python (ou la programmation en générale) depuis le point Zéro haha en autodidact via le net....
Enfait le plus dure pour moi c'est de garder un esprit "logique" ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ZephLarm
 
effectivement et aussi les parentheses de la ligne 6 :)
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
et tu peux enlever ta ligne 2 ...
0
ilyasc Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   1
 
nn c pour le style TvT
0
ilyasc Messages postés 62 Date d'inscription   Statut Membre Dernière intervention   1
 
ui pk pas
0