Я пытаюсь написать код для текстового чата-бота в качестве моего первого полномасштабного проекта, и у меня возникает странная проблема с циклами, которые я не могу понять. Мой первичный цикл зависит от ввода текста, что должно произойти, когда пользователь набирает «bye», программа заканчивается. Единственная проблема - когда я запускаю его, независимо от того, что я ему говорю, он просто печатает один и тот же ответ снова и снова, пока я не нажму cntrl + c или не закрою окно. Вот код: импорта DateTimePython 2.7 While Loop Issue
print("Hi I am ChatBot V 0.0.1. I am here to converse. ")
user_name=raw_input("What is your name?")
print("Hello " + user_name + "!")
user_input=raw_input().lower().replace(" ","").replace("?","")
is_user_finished=0
while (is_user_finished == 0):
if user_input == "hi" or "hello":
print("Hello. How are you?")
elif user_input == "whatisyourname":
print("I do not have a name at the moment. What do you think I should be named?")
user_input=raw_input().lower().replace(" ","").replace("?","")
print("Good choice! I like that name!")
elif "where" and "you" in user_input:
print("I was typed up by some kid in California")
else:
print("I do not currently understand what you said. Sorry.")
if user_input == "bye":
print("Good bye. It was nice talking to you!")
is_user_finished = 1
Пожалуйста, откорректируйте код правильно. Помните, что это очень важно в Python. – Christian
Ваш код не имеет правильного отступа и не может работать как таковой. Пробел имеет важное значение в коде Python. Поэтому мы не можем проверить вашу ошибку из этого кода. –
Как вы пишете это для обучения, лучше начать использовать Python3.x. Есть много изменений/улучшений, которые были сделаны, которые помогут вам в будущем развитии. –