Через if скучно решать конечно, но пусть тоже полежит такой вариант.
Первый )
n=int(input('Введите натуральное число: '))
enddigit = n % 10 *(n//10 % 10 != 1)
end = 'ek'
if enddigit == 1:
end = 'ka'
elif enddigit in range(2,5):
end ='ki'
print(f'{n} boch{end}')
Второй ) (решение через 1 конструкцию if, else)
n=int(input('Введите натуральное число: '))
a = n % 10 *(n//10 % 10 != 1 and n % 10 < 5)
end = 'ka'*(a==1) + 'ki'*(a!=1) if a else 'ek'
print(f'{n} boch{end}')
Третий ) (вариация второго без условий!)
n=int(input('Введите натуральное число: '))
a = n % 10 *(n//10 % 10 != 1)*(n % 10 < 5)
print(n, 'boch' + ('ka'*(a==1) + 'ki'*(a!=1))*(a!=0) + 'ek'*(a == 0))
Поделитесь своими знаниями, ответьте на вопрос:
Напишите на языке c++! 1) пользователь отвечает на вопрос программы: «сколько вам лет» (0 стоит учесть, что для разных чисел используются разные склонения, например, «32 года», «99 лет» и т.п. 2) написать программу, которая спрашивает у пользователя возраст, и выдает информацию о том, является ли он совершеннолетним. учесть некорректный ввод возраста.