Python

Задача в питоне!!!!!! Дано целое число n (n находится в диапазоне от 1 до 99), определяющее возраст человека в годах.

Дано целое число n (n находится в диапазоне от 1 до 99), определяющее возраст человека в годах. Для этого числа необходимо напечатать фразу "мне n лет".

Учитывайте, что при некоторых значениях n слово "лет" нужно заменить на слово "год" или "года".

Помогите ПЛИЗЗЗ в Питоне!!!!
 def declension(n, for_1, for_234, for_other):
d = n % 10

if d == 1 and n % 100 != 11:
return for_1

if d in [2, 3, 4] and not (n % 100 in [12, 13, 14]):
return for_234

return for_other

###
n = int( input('Введите число: ') )

print( 'Мне', n, declension(n, 'год', 'года', 'лет') )
ИХ
Илю Хан
62 360
Лучший ответ
Вячеслав Макаров да, у меня косяк с 12, 13, 14. Преклоняюсь !!!
Евгений Казань n=int(input("введите возраст:"))# n>=1 and n<=99
if 1>=n<=99:
print("ему",n,"лет")
if n==1 or n==21 or n==31 or n==41 or n==51 or n==61 or n==71 or n==81 or n==91:
print("ему",n,"год")
if n>=2 and n<=4 :
print("ему",n,"года")
if n>=5 and n<=20 :
print("ему",n,"лет")
elif n>=22 and n<=24:
print("ему", n, "года")
elif n>=32 and n<= 34:
print("ему", n, "года")
elif n >= 42 and n <= 44:
print("ему", n, "года")
elif n >= 52 and n <= 54:
print("ему", n, "года")
 n = int(input('Введите возраст: '))
print('Мне', n, ['лет', 'год', 'года','года','года','лет', 'лет', 'лет', 'лет', 'лет'][(n // 10 % 10 != 1) * n % 10])
или так:
 n = int(input('Введите возраст: '))
k = (n // 10 % 10 != 1) * n % 10
print('Мне', n, {1: 'год', 2: 'года', 3: 'года', 4: 'года'}.get(k, 'лет'))
или так:
 n = int(input('Введите возраст: ')) 
k = (n // 10 % 10 != 1) * n % 10
print('Мне', n, ['лет', 'года', 'год'][(k == 1) + (1
Otabek Safarov
Otabek Safarov
84 102
Все ответы были супер, но препод не поверит, что ты это написал сам.
Поэтому, с учетом уровня знания Python, на котором вы сейчас находитесь
тебе нужно было рассуждать так:
1. В каких случаях пишем "год"?
- если возраст заканчивается на 1

2. В каких случаях пишем "года"?
- если возраст заканчивается на 2,3,4

3. В каких случаях пишем "лет"?
- если возраст заканчивается на 0,5,6,7,8,9
- или ( исключение из правил) находится в диапазоне с 11 до 19 лет.

Сначала пишем обработку исключения
if 10 <n< 20:
print("ему",n,"лет")

Потом думаем, как вычислить, на какую цифру заканчивается возраст?
самое простое - разделить его 10.
Остаток от деления и есть последняя цифра возраста
Пишем
last_dig = n % 10 # остаток от деления на 10

Теперь остается только составить условие проверки на последнюю цифру
Начнем проверку с цифр 2,3,4, так они находятся в одном ряду
elif 1<last_dig<5
print("ему",n,"года")

потом проверим последнюю цифру на 1 (в этом случае нужно писать "год")
elif last_dig == 1
print("ему",n,"год")

все, дальше проверять ничего не нужно, так остались цифры, при которых нужно писать "лет".
Поэтому просто пишем
else:
print("ему", n, "лет")

Соединяем все это и получаем вот такой код, которому поверит любой преподаватель

 n = int(input('Введите возраст: '))

last_dig = n % 10 # остаток от деления на 10

if 10
 print("Введите возраст в диапазоне от 1 до 99") 
n = int(input())

if 0 < n < 100:
suffix = "лет"
if (n // 10) % 10 != 1:
if n % 10 == 1:
suffix = "год"
elif n % 10 in (2, 3, 4) and not (n in [12, 13, 14]):
suffix = "года"

print("Мне", n, suffix)

else:
print("Возраст вне указанного диапазона. Good bye!!!")
Евгений Казань n=int(input("введите возраст:"))# n>=1 and n<=99
if 1>=n<=99:
print("ему",n,"лет")
if n==1 or n==21 or n==31 or n==41 or n==51 or n==61 or n==71 or n==81 or n==91:
print("ему",n,"год")
if n>=2 and n<=4 :
print("ему",n,"года")
if n>=5 and n<=20 :
print("ему",n,"лет")
elif n>=22 and n<=24:
print("ему", n, "года")
elif n>=32 and n<= 34:
print("ему", n, "года")
elif n >= 42 and n <= 44:
print("ему", n, "года")
elif n >= 52 and n <= 54:
print("ему", n, "года")
Евгений Казань А если так?????
Только не могу понять как

elif n>=22 and n<=24:
print("ему", n, "года")
elif n>=32 and n<= 34:
print("ему", n, "года")
elif n >= 42 and n <= 44:
print("ему", n, "года")
и т. д в одну строку сделать
Евгений Казань спасибо большое!!!!!!!!!!