В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Adella1207
Adella1207
15.02.2022 22:54 •  Информатика

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

Пример:

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

Пример:

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

Пример:

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

Показать ответ
Ответ:
variobukp06vcg
variobukp06vcg
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

0,0(0 оценок)
Ответ:
Danielufa
Danielufa
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. В результате получаем строку с правильной формой возраста и выводим ее на экран.

Надеюсь, это объяснение поможет тебе лучше понять, как работает эта программа. Если у тебя есть еще вопросы, не стесняйся задавать!
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота