Программа для проверки наличия букв в слове
Привет! Меня зовут Максим, и сегодня я хочу поделиться с тобой программой на языке Python, которая проверяет наличие определенного набора букв в слове ″tinkoff″ в любом порядке и любом регистре. Программа будет игнорировать любые лишние буквы.
Вот как будет выглядеть программа⁚
python
def check_letters(word, letters)⁚
# Приводим слово и набор букв к нижнему регистру
word word.lower
letters letters.lower
# Создаем словарь для подсчета количества каждой буквы в слове ″tinkoff″
count_dict {}
for letter in word⁚
count_dict[letter] count_dict.get(letter, 0) 1
# Проверяем каждую букву из набора наличия и количество в слове
for letter in letters⁚
if letter not in count_dict or count_dict[letter] 0⁚
return False
else⁚
count_dict[letter] — 1
# Проверяем, что все буквы из набора были использованы
for count in count_dict.values⁚
if count > 0⁚
return False
return True
# Читаем количество наборов входных данных
t int(input)
# Проходим по каждому набору входных данных
for _ in range(t)⁚
letters input
# Проверяем наличие букв в слове
if check_letters(″tinkoff″, letters)⁚
print(″YES″)
else⁚
print(″NO″)
Давай разберем программу по частям⁚
- Мы создаем функцию ″check_letters″, которая принимает два аргумента⁚ слово ″tinkoff″ и набор букв, которые нужно проверить.
- С помощью метода .lower мы приводим слово и набор букв к нижнему регистру, чтобы игнорировать регистр при сравнении.
- Затем мы создаем словарь ″count_dict″, где ключами являются буквы слова ″tinkoff″, а значениями ⎻ количество каждой буквы в слове.
- Мы проходим по каждой букве из набора и проверяем ее наличие и количество в слове. Если буква отсутствует или количество равно 0٫ возвращаем False и прекращаем выполнение функции.
- После этого мы проверяем, что все буквы из набора были использованы. Если есть хотя бы одна буква, количество которой больше 0, возвращаем False.
- Если все условия выполнились, значит, буквы из набора присутствуют в слове ″tinkoff″ в правильном порядке и количестве, и программа возвращает True.
Затем мы считываем количество наборов входных данных и проходим по каждому набору⁚
- С помощью функции input мы считываем строку с набором букв.
- На каждой итерации вызываем функцию ″check_letters″ и передаем ей слово ″tinkoff″ и считанный набор букв.
- Если функция возвращает True, то буквы из набора присутствуют в слове ″tinkoff″ и мы выводим ″YES″.
- В противном случае, если функция возвращает False, буквы из набора отсутствуют в слове ″tinkoff″ и мы выводим ″NO″.
Надеюсь, эта программа поможет тебе решить задачу проверки наличия букв в слове. Удачи!