Как сделать окончания в пайтоне?

В Python существует несколько способов работы с окончаниями. Один из распространенных способов - это использование условных конструкций и встроенных функций для проверки и изменения окончаний.

Прежде чем продолжить, давайте посмотрим на пример, чтобы было понятнее, о чем речь.

Предположим, у нас есть переменная num, которая содержит число:

num = 2

Мы хотим вывести фразу, которая будет зависеть от значения переменной num и правильно использовать окончание для слова "яблоко".

Для начала, нам нужно создать математическую формулу, с помощью которой будет определено правильное окончание:

if num % 10 == 1 and num % 100 != 11:
    ending = "о"
elif num % 10 in [2, 3, 4] and (num % 100 < 10 or num % 100 >= 20):
    ending = "а"
else:
    ending = "ов"

В этом примере используется условная конструкция if, elif, else, чтобы определить правильное окончание на основе значения переменной num.

Давайте разберем условия:

- num % 10 == 1 and num % 100 != 11: это условие для единственного числа (1, 21, 31 и т. д.), за исключением чисел, оканчивающихся на 11 (11, 111, 211 и т. д.).

- num % 10 in [2, 3, 4] and (num % 100 < 10 or num % 100 >= 20): это условие для чисел, оканчивающихся на 2, 3 или 4, за исключением чисел в диапазоне от 10 до 20 (2, 3, 4, 22, 23, 24 и т. д., но не 12, 13, 14).

- else: это условие для всех остальных случаев.

После определения переменной ending с правильным окончанием, мы можем использовать ее вместе со строкой "яблок" для формирования полной фразы:

result = f"У меня есть {num} яблок{ending}."
print(result)

В результате, если num = 2, то вывод будет:

У меня есть 2 яблока.

Если num = 21, то вывод будет:

У меня есть 21 яблоко.

Таким образом, путем использования условных конструкций и математических операций, мы можем правильно изменять окончания слов в зависимости от значений переменных в Python.