Предмет: Информатика, автор: facebord

Как написать программу на Python, что бы она считывало строку и если в строке есть словосочетания которое мы скажем то выведется ответ который мы выдадим, например: Напишите программу, которая считывает одну строку, после чего выводит «МЯУ», если в введённой строке есть подстрока «кот», и «ГАВ» в противном случае. Пример 1 - ввод: Извините, пожалуйста, вы не подскажете, КОТорый час? вывод: МЯУ

Пример 2 - ввод: как дела? вывод: ГАВ

Ответы

Автор ответа: Аноним
2

Получаем строку с помощью input()

text = input('Input:\n')

Для удобства запишем зависимости ввода и вывода в словарь base

base = {'кот': 'МЯУ'}

Для поиска слова мы будим использовать строковой метод .find()

Чтобы перебрать все зависимости вставим ключи словаря в цикл for

for i in base.keys():

   if text.find(i):

       print(base[i])

Все работает! Но если написать что-то где нет слова кот то мы не получим на выходе ГАВ

Как такое сделать? Нам нужен сигнал о том что ни один вариант не подошёл. Добавим для этой цели переменную.

Изначально её значением будет True. При первом обнаружении в тексте ключевого слова, мы должны присвоить переменной False

Давайте обзовём её как isElse (else от англ. иначе)

Так-же добавим условие в конце. Если isElse == True (не произошло ни одного обнаружения) то мы должны напечатать ГАВ

isElse = True

for i in base.keys():

   if text.find(i) != -1:

       isElse = False

       print(base[i])

if isElse:

   print('ГАВ')

text = input('Input:\n')

base = {'кот': 'МЯУ'}

isElse = True

for i in base.keys():

  if text.find(i) != -1:

      isElse = False

      print(base[i])

if isElse:

  print('ГАВ')

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