1

Cómo detener el bucle infinito en un chatbot simple

Tengo un chatbot simple con el siguiente código

 import random human_input = input('Talk to me: ') continue_dialogue = True greeting_inputs = ("hey", "good morning", "good evening", "morning", "evening", "hi", "whatsupp") greeting_responses = ["hey", "hey hows you?", "*nods*", "hello, how you doing", "hello", "Welcome, I am good and you"] def generate_greeting_response(input): for token in input.split(): if token.lower() in greeting_inputs: return random.choice(greeting_responses) while continue_dialogue: for token in human_input.split(): if generate_greeting_response(human_input) is not None: print("Chatterbot: " + generate_greeting_response(human_input)) input('Talk to me again: ') else: print("Chatterbot: Bye") continue_dialogue = False

Lo que quería era que si human_input se reconoce dentro de greeting_inputs para que la conversación continúe y si no es así, la conversación se detendrá. Pero el código anterior nunca detiene la conversación, incluso si escribo tonterías. ¿Por qué mi else nunca se activa?

Presentada May 23rd 2021 por Admin

Respuestas
0

Actualice la input('Talk to me again: ') a

 human_input=input('Talk to me again: ')

Dado que la próxima vez que pregunta, no le ha dado una variable para asignar la entrada, sigue repitiendo

Admin | hace 4 meses



Preguntas relevantes