Mon code python s'emmêle

Résolu/Fermé
Dorianopg - 6 sept. 2022 à 21:54
 Dorianopg - 9 sept. 2022 à 23:35

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

A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 sept. 2022 à 21:57

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

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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
6 sept. 2022 à 23:49

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
Dorianopg > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
7 sept. 2022 à 14:17

Merci beaucoup, tout fonctionne !

0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178 > Dorianopg
7 sept. 2022 à 17:16

Heuuuu ..

Tu lui causes comme ça : ?

elif "grosse pute" or "salope" or "nique ta mère" in command:
0
Dorianopg > Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024
9 sept. 2022 à 23:35

Du tout, mais on sait jamais ;)

0