Mon code python s'emmêle

Résolu
Dorianopg -  
 Dorianopg -

Bonjour,

J'ai créer une sorte de petite intelligence artificielle en python. 

Le problème est que quand je lui demande comment elle va, elle me raconte une blague, quand je lui demande une bague elle répond par une autre réponse.

Qu'elle qu'un pourrait m'aider s'il vous plaît ?


Windows / Chrome 104.0.0.0

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     

    Bonjour

    J'allais te raconter une blague ou te donner la météo mais finalement non restons sérieux...

    Pour qu'une personne du forum puisse te venir en aide, il va falloir que tu montres ton code.


    0
  2. Dorianopg
     

    oui désolé le voici :

     
    import sys
    
    import pyttsx3 as ttx
    import speech_recognition as sr
    import pywhatkit
    import datetime
    import wikipedia
    import random
    import webbrowser
    
    
    listener = sr.Recognizer()
    engine = ttx.init()
    voices = engine.getProperty("voices")
    print(voices)
    engine.setProperty('voice', voices[0].id)
    
    def open_netflix():
        webbrowser.open("https://www.netflix.com/browse")
    def open_youtube():
        webbrowser.open("https://www.youtube.com")
    
    def open_google():
        webbrowser.open("https://www.google.com")
    
    def talk(text):
        engine.say(text)
        engine.runAndWait()
    
    
    def greetme():
        current_hour = int(datetime.datetime.now().hour)
        if 0 <= current_hour < 12:
            talk("Bonjour !")
    
        if 12 <= current_hour < 18:
            talk("Bon après-midi ")
    
        if current_hour >= 18 and current_hour != 0:
            talk("Bonsoir")
    
    
    # set french female voice
    voices = engine.getProperty("voices")
    engine.setProperty("voice", "french")
    greetme()
    engine.say("Que puis-je faire pour vous")
    engine.runAndWait()
    
    
    def opale_command() -> str:
        with sr.Microphone() as source:
            print("Dites quelque chose")
            voice = listener.listen(source)
            command = listener.recognize_google(voice, language="fr-FR")
            command = command.lower()
            print(command)
            if "opale" in command:
             command = command.replace("opale", "")
            print(command)
        return command
    
    def run_opale():
        command = opale_command()
        if "musique" in command:
            song = command.replace("musique", "")
            talk("musique en cours...")
            pywhatkit.playonyt(song)
    
        elif "heure" in command:
            time = datetime.datetime.now().strftime("%H:%M")
            print(time)
            talk("Il est: " + time)
    
        elif "qui est" in command:
            person = command.replace("qui est", "")
            wikipedia.set_lang("fr")
            info = wikipedia.summary(person, 3)
            talk(info)
    
        elif "as-tu des sentiments" in command:
            talk("je ne suis pas programmée pour cela mais j'éprouve de l'amour pour Alexa et Google Home !")
    
        elif "ouvre youtube" in command:
            open_youtube()
    
        elif "ouvre google" in command:
            open_google()
    
        elif "qui es-tu" in command:
            talk("Je suis Opale, une intelligence artificielle conçu pour vous aidez. ")
    
        elif "je me sens triste" in command:
            talk("Je suis désolé de l'apprendre, dites vous que vous n'êtes pas seul, "
                 "dites vous que être mal, c'est comprendre qu'on peut aller mieux.")
    
        elif "bonjour" in command:
            talk("bonjour, comment allez-vous ?")
    
        elif "bonsoir" in command:
            talk("bonsoir, comment allez-vous ?")
    
        elif "ta gueule" in command:
            talk("Je vous retourne le compliment. ")
    
        elif "merci" in command:
            rep = ["derien", "tout le plaisir est pour moi", "je suis conçu pour vous servir", "il n'y a pas de quoi"]
            talk(random.choice(rep))
    
        elif "au revoir" in command:
            talk("Merci d'avoir utilisé Opale")
            sys.exit()
    
        elif "raconte-moi une blague" or "raconte moi une autre blaque" or "raconte nous une blague" in command:
    
            jokes = ["Que dit une noisette quand elle tombe dans l’eau ?  « Je me noix. »",
                     "Comment est-ce que les abeilles communiquent entre elles ?... Par -emiel.",
                     "Quel est l’arbre préféré du chômeur ?... Le bouleau.",
                     "Qu’est-ce qu’une frite enceinte ?... Une patate sautée.",
                     "Que dit une mère à son fils geek quand le dîner est servi ?...  Alt Tab !",
                     "Comment appelle-t-on un alligator qui enquête?... Un investi-gator.",
                     "Comment appelle-t-on un boomerang qui ne revient pas ?...  Un bout de bois.",
                     "Qu’a dit Vénus en flirtant avec Saturne?...  «Passe-moi l’anneau au doigt",
                     "Que demande un footballeur à son coiffeur ?... La coupe du monde s’il vous plait",
                     "C'est quoi une chauve-souris avec une perruque ?... Une souris",
                     "Pourquoi les canards sont toujours à l'heure ?... Parce qu’ils sont dans l’étang",
                     "Comment on appelle un frigo dans un coin ? ... un vilain frigo",
                     "Quelle mamie fait peur au voleur ? ... ma mitrillette",
                     "Qu'est-ce qu'un tenisman adore faire ?... rendre des services",
                     "Que un cendrier devant un ascenseur ? ... il veut des cendres.",
                     "Comment appelle-t-on un Jeudi vraiment nul ? ... un tra-jeudi.",
                     "quelle est la danse préférée des chats ? ...  le chat chat chat",
                     "Pourquoi les éolienne n'ont pas de copain ? ... Parcu'elles se prennent toujours des vents.",
                     "Qu'elle est la fée que les enfants détestent ? ... La féssé.",
                     "Qu'elle est le musicien préférée des maladies ? ... La Bach-térie.",]
            talk("pas de soucis...  " + random.choice(jokes))
    
        elif "bien et toi" or "et toi" or "ça va" in command:
            talk("je suis remplie d'énergie")
    
        elif "grosse pute" or "salope" or "nique ta mère" in command:
            talk("La théorie de Darwin se confirme en voyant votre tête de primate pas évolué.")
    
         else:
            talk("Je n'ai pas bien compris votre demande.")
    if __name__ == '__main__':
    
        while True:
            run_opale()
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       

      Tu dois revoir l'utilisation des OR dans un IF.

      Il faut, pour chaque "OR", mettre la condition...

      par exemple

         elif "raconte-moi une blague" in command or "raconte moi une autre blaque" in command or "raconte nous une blague" in command:
      
      1
      1. Dorianopg > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         

        Merci beaucoup, tout fonctionne !

        0
      2. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169 > Dorianopg
         

        Heuuuu ..

        Tu lui causes comme ça : ?

        elif "grosse pute" or "salope" or "nique ta mère" in command:
        0
      3. Dorianopg > Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention  
         

        Du tout, mais on sait jamais ;)

        0