Давайте создадим программу на Python, которая будет правильно склонять слова "ученик", "год" и "лет" в зависимости от числового значения. Мы будем использовать некоторые правила русского языка для определения правильного окончания.
Ниже приведен код с пояснениями:
def get_sklonenie_ucenik(uch):
if 10 <= uch % 100 <= 20:
return "учеников"
elif uch % 10 == 1:
return "ученик"
elif uch % 10 in [2, 3, 4]:
return "ученика"
else:
return "учеников"
def get_sklonenie_god(year):
if 10 <= year % 100 <= 20:
return "лет"
elif year % 10 == 1:
return "год"
elif year % 10 in [2, 3, 4]:
return "года"
else:
return "лет"
def main():
# Вводим число учеников
num_ucenikov = int(input("Введите число учеников: "))
print(f"{num_ucenikov} {get_sklonenie_ucenik(num_ucenikov)}")
# Вводим общий стаж
obshchiy_stazh = int(input("Введите общий стаж (в годах): "))
print(f"Общий стаж: {obshchiy_stazh} {get_sklonenie_god(obshchiy_stazh)}")
# Вводим стаж по специальности
stazh_po_spec = int(input("Введите стаж по специальности (в годах): "))
print(f"Стаж по специальности: {stazh_po_spec} {get_sklonenie_god(stazh_po_spec)}")
if __name__ == "__main__":
main()
Объяснение кода
Функция
get_sklonenie_ucenik(uch):- Принимает число учеников и определяет правильное окончание слова "ученик" на основе числа. Мы используем остаток от деления для анализа последней цифры и двух последних цифр числа.
Функция
get_sklonenie_god(year):- Подобна предыдущей функции, но для склонения слова "год" и "лет". Определяет, в каком формате выводить стаж в зависимости от величины числа.
Функция
main():- Запрашивает ввод числа учеников, общего стажа и стажа по специальности у пользователя.
- Выводит результат с правильными окончаниями.
Пример работы программы:
Введите число учеников: 21
21 ученик
Введите общий стаж (в годах): 47
Общий стаж: 47 лет
Введите стаж по специальности (в годах): 1
Стаж по специальности: 1 год
Это помогает избежать грамматических ошибок и делает вывод более естественным.