Знакомые нам воспитанники детского сада наконец-то начали учить буквы.
Воспитатель предложил ребятам назвать слова, которые начинаются с А, Б или В. Напишите программу, которая проверяет, что первая буква во всех словах — А, Б или В.
Формат ввода
Вводится натуральное число N — количество слов, названных детьми.
В каждой из последующих N строк записано по одному слову строчными буквам.
Формат вывода:
YES
— если все слова начинаются с нужной буквы.NO
— если хотя бы одно слово начинается не с нужной буквы.
Пример
Ввод
3
арбуз
барабан
ворона
Вывод
YES
Ввод
4
аист
вареник
кузнечик
алыча
Вывод
NO
Решение
Задачу можно решить с использованием списков и без использования. Сама суть от этого меняется не сильно – меняется только способ ввода и накопления результата.
Получаем число. Инициализируем переменную-флаг которая будет содержать в себе результат проверки слов в True.
В цикле считываем слово и проверяем первую букву на соответствие условию. Если первая буква не соответствует списку, изменяем наш в флаг в False.
В зависимости от состояния флага выводим результат.
При проверке первой буквы вместо списка букв можно использовать строку, состоящую из искомых букв.
Посмотреть код
Решение
# вариант без списков
num = int(input())
all_good = True
for _ in range(num):
s = input()
if s[0] not in 'абв':
all_good = False
if all_good:
print('YES')
else:
print('NO')
Решение
# Вариант со списками
num = int(input())
all_good = True
words = []
for _ in range(num):
words.append(input())
for word in words:
if word[0] not in 'абв':
all_good = False
if all_good:
print('YES')
else:
print('NO')