J'ai écrit ce code très simple qui devrait répondre à des entrées utilisateur spécifiques. Je sais que je fais quelque chose de mal, mais je ne sais pas ce que c'est. Lorsque je tape un mot ou que je le laisse vide, j'obtiens la réponse «Aucun». Merci d'avance :) voici mon code:Pourquoi ce code renvoie une valeur None?
import random
# Sentences we'll respond with if the user greeted us
GREETING_KEYWORDS = ("hello", "hi", "greetings", "sup", "whats up", "You")
GREETING_RESPONSES = ["sup buddy", "Hola", "Halo", "Hi back?"]
def check_for_greeting(sentence):
"""If any of the words in the user's input was a greeting, return a greeting response"""
if sentence is not None:
for word in sentence:
if word.lower() in GREETING_KEYWORDS:
return random.choice(GREETING_RESPONSES)
else:
pass
elif sentence is None:
return "You got to say something if you want me to do the same."
else:
return "Something is wrong..."
def chat_input():
x = input("")
print(check_for_greeting(x))
# Run
print("chat with me...")
chat_input()
Bien que cela ne soit pas vraiment lié à la question elle-même, je suggère de transformer la phrase en une liste de ''' .join (phrase)' et de vérifier l'existence du mot de bienvenue dans la phrase en utilisant 'len ([i pour i dans GREETING_KEYWORDS si je dans la phrase])> 0' –
que se passe-t-il si je ne sais pas ce que l'utilisateur a entré, s'il a entré "bonjour" ou "au revoir". Devrais-je simplement créer une autre liste et la parcourir quand la liste "GREETING KEYWORDS" ne correspond pas? Merci mec, vos commentaires sont utiles. –