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

  1. jee pee Messages postés 31872 Date d'inscription   Statut Modérateur Dernière intervention   9 976
     
    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
  2. 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
    1. jee pee Messages postés 31872 Date d'inscription   Statut Modérateur Dernière intervention   9 976
       
      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
      1. ZephLarm > jee pee Messages postés 31872 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
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

    Tu peux enlever la ligne 4 ...
    0
  4. 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
    1. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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