Partage
  • Partager sur Facebook
  • Partager sur Twitter

Executer une action plusieurs fois.

Sujet résolu
    20 novembre 2011 à 16:10:37

    Bonjour oui encore moi.
    Mais je suis partie pour faire une "pseudo" intelligence artificiel (oui je sais je suis fou etc...)

    Mais j'aimerai savoir comment utiliser les boucles de la façons que quand je fini de poser ma question et que l'ordinateur me répond, l'input se réaffiche pour que je pose une autre question sans que je fasse 1000 if mais un seul. (avec plusieurs elif).

    Mon code :
    #!/usr/bin/env python2.7
    # -*-coding:Utf-8 -* 
    import os
    
    print("Une production Kolay Hayat, tout droit réservé\n\n")
    
    print "Entrer votre question : (sans majuscule)"
    question = raw_input()
    i = 1
    
    if question=="bonjour":
    	print "\n Bonjour"
    elif question=="au revoir":
    	print "Au revoir, bonnne journée/ soirée"
    elif question=="comment tu t'apelle ?":
        print "Je n'ai pas de nom, je suis conçu pour vous satisfaire"
    
    print("Souhaitez-vous partir (o/n) ?")
    quitter = raw_input()
    
    if quitter=="o" or quitter=="O":
                print "\nAu revoir"
    elif quitter=="n" or quitter=="N":
    	        print "\n\nQu'elle est votre question ?"
    	        
    question = raw_input()
    i = 1
    
    if question=="quoi":
    	print "\n rien"
    elif question=="ah":
    	print "\noui"
    
    raw_input("Appuyez sur ENTREE pour fermer ce programme...")
    


    Voyez, sans la question "Souhaitez-vous partir ?" et faire sa en un seul if.

    En gros (le code ne se répette pas mais ses à titre d'exemple pour vous faire comprendre) :

    #!/usr/bin/env python2.7
    # -*-coding:Utf-8 -* 
    import os
    
    print("Une production Kolay Hayat, tout droit réservé\n\n")
    #ici une boucle qui s'affiche seulement après avoir répondu à une question et qui ne repette pas la réponse
    print "Entrer votre question : (sans majuscule)"
    question = raw_input()
    i = 1
    
    if question=="bonjour": 
    	print "\n Bonjour"
    elif question=="au revoir":
    	print "Au revoir, bonnne journée/ soirée"
    elif question=="comment tu t'apelle ?":
        print "Je n'ai pas de nom, je suis conçu pour vous satisfaire"
    
    #pour quitter le programme, fermer manuellement le programme avec la "croix"
    
    raw_input("Appuyez sur ENTREE pour fermer ce programme...")
    
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 novembre 2011 à 16:20:03

      Il faut regarder dans les tutos, la boucle for ou la boucle while
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2011 à 16:23:11

        J'ai regardé la boucle while mais elle me répete la réponse à l'infinie
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 novembre 2011 à 16:41:14

          Avec la boucle while

          >>> debut = 0
          >>> fin = 10
          >>> somme = 1
          >>> while debut <= fin:
          	somme *= 2
          	print somme
          	debut += 1 # equivalent à debut = debut + 1
          
          	
          2
          4
          8
          16
          32
          64
          128
          256
          512
          1024
          2048
          


          ou avec la boucle for

          >>> for i in range(debut, fin+1):
          	somme *= 2
          	print somme
          
          	
          2
          4
          8
          16
          32
          64
          128
          256
          512
          1024
          2048
          
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2011 à 16:44:06

            Heu... ok je vois.

            Je croit que tu as comprit que je ne comprend rien avec les 2, 4 etc.....
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              20 novembre 2011 à 16:50:46

              Dans mes exemples, je répète n fois somme = somme * 2

              Les 2, 4, ... sont simplement les résultats de mon code.

              exemple dans ton code

              question = " "
              while question != "": # si on veut arrêter la boucle, on entre aucune question
                  print "Entrer votre question : (sans majuscule)"
                  question = raw_input()
                  print "Votre question est :", question
              
              • Partager sur Facebook
              • Partager sur Twitter
                20 novembre 2011 à 16:53:39

                Mon programme s'auto ferme là :)

                #!/usr/bin/env python2.7
                # -*-coding:Utf-8 -* 
                import os
                
                print("Une production Kolay Hayat, tout droit réservé\n\n")
                #ici une boucle qui s'affiche seulement après avoir répondu à une question et qui ne repette pas la réponse.
                while question != "":
                print "Entrer votre question : (sans majuscule)"
                question = raw_input()
                i = 1
                
                if question=="bonjour": 
                	print "\n Bonjour"
                elif question=="au revoir":
                	print "\n Au revoir, bonnne journée/ soirée"
                elif question=="comment tu t'apelle ?":
                    print "\nJe n'ai pas de nom, je suis conçu pour vous satisfaire"
                elif question=="pie":
                	print "\n Pie a une racine carré de 1,772453851"
                #pour quitter le programme, fermer manuellement le programme avec la "croix"
                
                raw_input("Appuyez sur ENTREE pour fermer ce programme...")
                
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  20 novembre 2011 à 16:55:59

                  Oui normal il faut déclarer ta variable question avant

                  Voir mon edit sur le post précédent

                  Et n'oublie pas l'indentation!

                  Tu veux pas suivre un tuto?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 novembre 2011 à 16:59:39

                    Merci sa fonctionne net :)

                    En tout cas tu as de la patiente.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      20 novembre 2011 à 17:03:53

                      Vaut mieux dans mon métier ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 novembre 2011 à 17:07:31

                        Oui j'ai vue il y a quelques minutes que tu es enseignant ^^ .
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Executer une action plusieurs fois.

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown