Je travaille sur un peu non-AI (jusqu'à présent) Chatbot avec Python 3.7. Et maintenant je voulais choisir de choisir une réponse aléatoire dans une liste. J'ai donc créé une liste et je veux qu'une réponse aléatoire soit imprimée dans le terminal lorsque vous tapez hi, bonjour (ou autres salutations).
J'ai créé une liste et sous qui aléatoire.choice (message d'accueil) pour choisir une réponse aléatoire, si les types d'utilisateurs Salut. Quand je tape bonjour, ça ne me donne pas une réponse. p>
Voici la partie du code, j'ai mentionné: p> donc quand je rencontre le code, je ne reçois aucune erreur, mais quand je Type Bonjour, rien ne se passe. Ça le veut, quand je tape bonjour, bonjour, bonjour, bon après-midi, bonsoir ou hé, qu'il choisit une réponse aléatoire de ma liste ("salutation") puis imprimant cette réponse aléatoire. Merci de votre aide. p> p>
4 Réponses :
Votre chèque d'égalité ne fait pas ce que vous pensez.
Vérification si l'entrée est dans une liste accomplira ce que vous en essayant de faire. p> Essentiellement, votre autre vérification se résume à: p> où Exemple: P> si entrée () dans ["HI", 'Hello', "Bonjour"]: Code> P>
expression1 ou expression2 ou expression3 code> p>
expression1 code> est
entrée () == 'hi' code> et
expression2 code> est
'hello' code>, même si vous attendiez
expression2 code> doit être
entrée () == 'hello' code>. p>
>>> import random
>>> if input() in ["Hi", "Hello", "Good Morning", "Good Afternoon", "Good Evening", "Hey"]:
... greetings = ['sup', 'yo', 'i am so alone']
... print(random.choice(greetings))
...
Hi
sup
>>>
@Summerdrummer J'ai mis à jour ma réponse pour inclure un exemple effectué sur la ligne de commande.
aléatoire.choice () code> sélectionne et renvoie un élément aléatoire de la liste d'entrée, pour que cet élément soit affiché, vous devez appeler
impression () code>. De plus, vous voudrez vérifier si la chaîne d'entrée est
dans code> une liste de salutations, vous pouvez également envisager d'appeler
inférieur () code> sur la saisie de l'utilisateur afin que la capitalisation ne soit pas un impact sur la correspondance. . p>
Essayez ceci:
Bizarre. Ça marche pour moi. Vous pouvez également vérifier ici repl.it/repls/terrificnoxiousformula
Génial. Heureux d'aider. Pouvez-vous donner des points à cela et d'autres peuvent également obtenir de l'aide à travers cela?
Dit ceci: Merci pour les commentaires! Les votes lancés par ceux qui ont moins de 15 réputations sont enregistrés, mais ne modifient pas le score post publiquement affiché. Mais il y a quelque chose, j'aimerais vous demander: j'ai fait plus de ces codes ci-dessus (changez la variable bien sûr), mais ceux qui ne fonctionnent pas. Est-ce que tu sais pourquoi?
Travaille maintenant. Merci
Votre condition If Ne jamais échoue car, le premier bloc est essayez ceci: p>