A. Азбука

Знакомые нам воспитанники детского сада наконец-то начали учить буквы.
Воспитатель предложил ребятам назвать слова, которые начинаются с А, Б или В. Напишите программу, которая проверяет, что первая буква во всех словах — А, Б или В.

Формат ввода

Вводится натуральное число N — количество слов, названных детьми.
В каждой из последующих N строк записано по одному слову строчными буквам.

Формат вывода:

YES — если все слова начинаются с нужной буквы.
NO — если хотя бы одно слово начинается не с нужной буквы.

Пример

Ввод

3
арбуз
барабан
ворона

Вывод

YES

Ввод

4
аист
вареник
кузнечик
алыча

Вывод

NO

Решение

Задачу можно решить с использованием списков и без использования. Сама суть от этого меняется не сильно – меняется только способ ввода и накопления результата.

Получаем число. Инициализируем переменную-флаг которая будет содержать в себе результат проверки слов в True.
В цикле считываем слово и проверяем первую букву на соответствие условию. Если первая буква не соответствует списку, изменяем наш в флаг в False.
В зависимости от состояния флага выводим результат.

При проверке первой буквы вместо списка букв можно использовать строку, состоящую из искомых букв.

Посмотреть код

Решение

Python
# вариант без списков

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')

Решение

Python
# Вариант со списками

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')
Подписаться
Уведомить о
guest
3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
02.02.2024 14:17

Альтернативное решение:

count = int(input())

result = ‘YES’

for _ in range(count):
    temp = input().lower()
    if temp[0] not in ‘абв’:
        result = ‘NO’

print(result)

Никита
Никита
04.12.2024 20:52

n = int(input())
c = 0

for i in range(n):
    str = input()
    if str[0not in ‘абв’:
        print(‘NO’)
        break
    c += 1

if c == n:
    print(‘YES’)
У меня неидеально получилось, конечно. Не додумался до флажка и сделал с счётчиком, он всё тоже самое делает вроде.
И ещё, т.к. цикл прерывается после NO, он не даёт оставшиеся строки написать. Хотя Яндекс не ругался на это