Напишите программу,в Python которая получает возраст человека (целое число, не превышающее 120) и выводит этот возраст со словом «год», «года» или «лет». Например, «21 год», «22 года», «25 лет».

Пример:

Введите возраст: 18
Вам 18 лет.

Пример:

Введите возраст: 21
Вам 21 год.

Пример:

Введите возраст: 22
Вам 22 года.

Aleksandrya Aleksandrya    3   08.04.2020 11:22    312

Ответы
yulya158 yulya158  12.10.2020 22:27

while True:

   try:

       age = int(input('Сколько вам лет?\n>> '))

       if 1 < age <= 120:

           break

       else:

           print('Введи возраст в диапазоне 0-120')

   except ValueError:

       print('Введи число!')

if 5 <= age <= 20:

   print(f'Вам {age} лет')

elif str(age)[-1] == '1':

   print(f'Вам {age} год')

elif 1 < int(str(age)[-1]) < 5:

   print(f'Вам {age} года')

elif 4 < int(str(age)[-1]) <= 9 or int(str(age)[-1]) == 0:

   print(f'Вам {age} лет')

Объяснение:

Python 3.8.2

ПОКАЗАТЬ ОТВЕТЫ
missiskitten missiskitten  18.01.2024 11:10
Хорошо, я с радостью помогу тебе решить эту задачу и написать программу на языке Python.

Вот код программы:

```python
def get_age_string(age):
# Проверим, соответствует ли введенное значение требованиям (целое число от 1 до 120)
if not isinstance(age, int) or age < 1 or age > 120:
return "Неверный возраст. Введите целое число от 1 до 120."

# Определим последнюю цифру возраста
last_digit = age % 10

# Определим последние две цифры возраста
last_two_digits = age % 100

# Исключим случаи, когда особые правила применяются к некоторым числам (например, 11-14 лет)
if 10 < last_two_digits < 20:
return f"Вам {age} лет."

# Определим, какое слово использовать: "год", "года" или "лет"
if last_digit == 1:
return f"Вам {age} год."
elif 2 <= last_digit <= 4:
return f"Вам {age} года."
else:
return f"Вам {age} лет."


# Входные данные: возраст пользователя
age_input = input("Введите возраст: ")

try:
age = int(age_input)
age_string = get_age_string(age)
print(age_string)
except ValueError:
print("Неверный возраст. Введите целое число от 1 до 120.")
```

Давай я объясню код более подробно:

1. Мы определяем функцию `get_age_string`, которая принимает в качестве аргумента возраст человека.
2. Внутри функции мы сначала проверяем, соответствует ли введенное значение требованиям (целое число от 1 до 120). Если нет, то возвращаем соответствующую ошибку.
3. Затем мы определяем последнюю цифру возраста и последние две цифры возраста.
4. Далее мы исключаем случаи, когда особые правила применяются к некоторым числам (например, 11-14 лет), чтобы избежать ошибочных результатов.
5. В зависимости от последней цифры возраста определяем, какое слово использовать: "год", "года" или "лет".
6. Функция возвращает строку с правильным предложением, в котором указывается возраст человека в правильной форме.
7. Затем мы запрашиваем возраст у пользователя, преобразуем его в целое число и вызываем функцию `get_age_string`, передавая введенный возраст в качестве аргумента.
8. В результате получаем строку с правильной формой возраста и выводим ее на экран.

Надеюсь, это объяснение поможет тебе лучше понять, как работает эта программа. Если у тебя есть еще вопросы, не стесняйся задавать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика