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))