Задать вопрос
@lietryit

Почему не работает цикл?

Добрый вечер, решил я научиться создавать простеньких ботов и сразу же мне проблема в лоб, я создал функцию в которой лежит цикл if-else который в свою очередь сравнивает введённое в input с переменной и списком и следовательно выводит ответ, а если нет то выводит другой ответ. Но компилятор чего-то жалуется на список использованный в операторе if, мейдэй-мейдэй!

Вот код:

import os, random

logic = True

name = 'Олег, '

writeHi = ['привет', 'хай']
sayHi = ['Доброго времени суток!', 'Здравствуйте', 'Вечер в хату!']

def Greeting():
	if message == name + writeHi:
		print(random.choice(sayHi))
	else:
		print('Я не понимаю')

while logic:
	message = input('Ввод: ')
	Greeting()
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Надо было примерно так написать фунцию:
def Greeting():
  ok = False
  for hi in writeHi:
    if message == name + hi:
      print(random.choice(sayHi))
      ok = True
  if not ok:
    print('Я не понимаю')

writeHi - содержит несколько вариантов, значит надо их все поочереди сравнить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Muxauko
Не легче сделать проверку двойную? If message == 'привет' + name
....
elif message == 'хай' + name.....?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы