Не могу составить код для текста
В русскому языке, как правило, после букв Ж,Ч,Ш,Щ пишется И,А,У, а не Ы,Я,Ю. Проверить Заданный текст на соблюдение этого правила и исправить ошибки ( с учетом исключений: ПАРАШЮТ, БРОШЮРА, ЖЮРИ). Была идея просто запустить счетчик в тексте, но что-то не срослось. Потом я хотел решить через 'ord', но тоже ни черта не вышло. После хотел написать функцию, которая будет через цикл for выискивать ошибки, да вот не знаю как написать. Текст любой может быть. Можно просто где-то найти да вставить в переменную и не париться)
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
почему бы не применить алгоритм:
- найти буквы Ж, Ч, Ш, Щ
- посмотреть буквы после них и если они входят в множество "Ы Я Ю" и не являются словом-исключением - выдать ошибки или исправления
если в лоб:
word = "шыпчики"
is_error = False
for letter in ['ж', 'ч', 'ш', 'щ']:
for index in range(len(word)):
if word[index] == letter and index < len(word) - 1 and word[index + 1] in ['ы', 'ю', 'я']:
is_error = True
print("Ошибка" if is_error else "Норма")
можно зайти с регулярного входа:
import re
word = "шыпчики"
result = re.findall(r'[жчшщ][ыюя]', word)
print("Ошибка" if len(result) else "Норма")
это и покороче и поудобнее