5. Собачий возраст.
Условие:
Считается, что один год, прожитый собакой, эквивалентен семи человеческим годам.
При этом зачастую не учитывается, что собаки становятся абсолютно взрослыми уже к двум годам.
Таким образом, многие предпочитают каждый из первых двух лет жизни собаки приравнивать к 10,5 года человеческой жизни,
а все последующие – к четырем.
Напишите программу, которая будет переводить человеческий возраст в собачий с учетом указанной выше логики.
Убедитесь, что программа корректно работает при пересчете возраста собаки меньше и больше двух лет. Также программа должна выводить сообщение об ошибке, если пользователь ввел отрицательное число.
Код:
BORDER = 21 # заведём переменные в верхнем регистре, т.к. это константы
FIRST = 10.5
SECOND = 4
age = float(input("%50s" % "Введите человеческий возраст в годах: "))
if age < 0:
print("%49s" % "Вы ввели отрицательный возраст:", "-")
elif age == 0:
print("%49s" % "Вы ввели ноль:", "-")
elif age > BORDER:
age4year = age - BORDER
age4year = (age4year // SECOND) + ((age4year % SECOND) / SECOND)
result = age4year + (BORDER // FIRST)
print("%49s" % "Возраст в переводе на собачий:", round(result, 2))
else:
result = (age // FIRST) + (age % FIRST / FIRST)
print("%49s" % "Возраст в переводе на собачий составляет:", round(result, 2))