Исправьте ошибку в цикле в коде в Python
Напишите программу, которая находит кота.
Пользователь вводит строки до тех пор, пока он не введёт «СТОП». Программа выводит, во-первых, общее количество строк, в которых были упомянуты коты, во-вторых, номер строки, на которой впервые был упомянут кот (в том же смысле, что и в предыдущих задачах), или -1 (минус один), если кот не был упомянут.
b = 0
c = 0
d = 0
while True:
a = input().lower()
b += 1
if 'стоп' in a:
break
elif 'кот' in a:
d += 1
c = b
break
print(d, c)
elif 'кот' not in a:
d = 0
c = -1
print(d, c)
Ответы (1 шт):
почему нельзя переменные хоть как-то по человечески называть? :) И много лишнего функционала в коде
line_index = 0
lines_count = 0
first_line = -1
while True:
text = input().lower()
line_index += 1
if 'стоп' in text:
break
if'кот' in text:
lines_count += 1
first_line = line_index if first_line == -1 else first_line
print(lines_count, first_line)
у вас же в коде если не находится кот в строке
elif 'кот' not in a:
d = 0
c = -1
зачем то в 0 сбрасывается кол-во строк с котом и номер строки в -1 - в результате по сути сколько бы котов не было - учитываются только последовательно идущие строки с котами, заканчивающиеся командой "стоп"
