День рождения

Олегу не хочется становиться старше, поэтому он решил праздновать только свое 20-летие (ну и 21 год тоже, ладно уж). Это возможно, если применить некоторые математические навыки. Нужно просто подобрать подходящее основание числа!

Например, если сейчас Олегу 22 года, это 20 с основанием 11. Аналогично 65 лет — это ровно 21 год с основанием 32. И так далее.

Создайте функцию, которая будет принимать текущий возраст age и возвращать «нужный» возраст (20 лет или 21 год), а также основание числа в там же формате, что в примерах:

 happy_birthday(22) ➞ "Oleg is just 20, in base 11!"
 happy_birthday(65) ➞ "Oleg is just 21, in base 32!"
 happy_birthday(83) ➞ "Oleg is just 21, in base 41!"

Примечание: передваемый в функцию возраст всегда будет больше 21.

Варианты решения

def happy_birthday(age):
    return "Oleg is just {}, in base {}!".format(20 + age % 2, age // 2)
def happy_birthday(age):
    b = age // 2
    a = 20 + age % b
    return 'Oleg is just {}, in base {}!'.format(a, b)
def happy_birthday(age):
    n=0
    if age % 2 == 0:
        base = age // 2
        n = 20
    else:
        base = (age - 1) // 2
        n = 21
    return "Oleg is just "+ str(n)+", in base "+str(base)+"!"

python books logo

Английский для программистов

Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас

×