В долгой дороге дети вновь заскучали, и родителям приходится их развлекать поиском зверушек за окном. Давайте вместе с ними найдём заек.
Формат ввода
В первой строке указано натуральное число N — количество выделенных придорожных местностей. В последующих строках записаны слова характеризующие выделенную местность.
Информация о каждой местности завершается словом «ВСЁ».
Формат вывода:
Количество местностей, в которых есть зайка.
Пример
Ввод
3
березка
елочка
зайка
волк
березка
ВСЁ
сосна
сосна
сосна
елочка
грибочки
медведь
ВСЁ
сосна
сосна
сосна
белочка
сосна
белочка
ВСЁ
Вывод
1
Ввод
4
зайка
березка
ВСЁ
зайка
зайка
ВСЁ
березка
елочка
березка
ВСЁ
елочка
елочка
елочка
ВСЁ
Вывод
2
Решение
Для решения задачи потребуется вложенный цикл и один флаг.
Получаем количество местностей, инициализируем счетчик местностей нулем и организуем первый цикл (for).
В теле цикла инициализируем флаг, означающий наличие зайки, значением False и организуем второй цикл, который прекратится, как только мы найдем строчку ‘ВСЁ’ (while).
В теле вложенного проверяем строчку на равенство зайке и убеждаемся, что значение нашего флага все еще False. Если условие выполнено (зайка найден и флаг имеет значение False), увеличиваем счетчик на единицу и устанавливаем флаг в True. Таким образом, мы больше не будем учитывать заек в этой местности.
По окончании обоих циклов выводим количество найденых местностей.
Как и в предыдущую задачу, ее можно решить с помощью одного цикла.
Посмотреть код
Решение
# Решение с вложенными циклами
natures = int(input())
bunnies = 0
for _ in range(natures):
counted = False
while (s := input()) != 'ВСЁ':
if s == 'зайка' and counted is False:
bunnies = bunnies + 1
counted = True
print(bunnies)
Решение
# Решение с одним циклом
natures = int(input())
bunnies = 0
counted = False
while natures > 0:
if (s := input()) == 'зайка' and counted is False:
bunnies = bunnies + 1
counted = True
elif s == 'ВСЁ':
natures -= 1
counted = False
print(bunnies)
ch=int(input())
k=0
flag=False
for i in range(1,ch+1):
while (sl:=input())!=‘ВСЁ’:
if sl==‘зайка’:
flag=True
else:
flag=False
if flag==True:
k+=1
print(k)