0
votes

Comment puis-je résoudre ce problème aléatoire.choice dans Python?

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.

Voici la partie du code, j'ai mentionné: xxx

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.


0 commentaires

4 Réponses :


0
votes

Votre chèque d'égalité ne fait pas ce que vous pensez.

si entrée () dans ["HI", 'Hello', "Bonjour"]: Code> P>

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>

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>

Exemple: 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
>>> 


1 commentaires

@Summerdrummer J'ai mis à jour ma réponse pour inclure un exemple effectué sur la ligne de commande.



0
votes

aléatoire.choice () 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 () . De plus, vous voudrez vérifier si la chaîne d'entrée est dans une liste de salutations, vous pouvez également envisager d'appeler inférieur () sur la saisie de l'utilisateur afin que la capitalisation ne soit pas un impact sur la correspondance. .


0 commentaires

0
votes

Essayez ceci: xxx

sortie xxx


xxx

4 commentaires

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



1
votes

Votre condition If Ne jamais échoue car, le premier bloc est xxx

essayez ceci: xxx


0 commentaires