Хотя вопрос четко не сформулирован, кажется, вы ищете способы хранения функций и их условного вызова.
Хорошая новость заключается в том, что в python функции являются объектами первого класса .
Таким образом, вы можете сделать что-то вроде этого -
>>> handlers={
... 'valid':lambda human_age:human_age * 10.5,
... 'invalid': lambda human_age:((((human_age - 2) * 4) + 21))}
>>> handler_key = 'valid' if human_age <=2 else 'invalid'
>>> human_age=3 #In your case, take input here
>>> print(handlers[handler_key](human_age)) #call handler
25
Чтобы еще больше ответить на комментарий ОП, лямбда-выражения здесь не нужны. Ниже приведен тот же код с простыми функциями -
>>> def invalid_handler(human_age): return ((((human_age - 2) * 4) + 21))
...
>>> def valid_handler(human_age): return human_age * 10.5
...
>>> handlers = {
... 'valid': valid_handler,
... 'invalid': invalid_handler}
>>>
>>> print(handlers[handler_key](human_age))
25
>>> human_age=1
>>> print(handlers[handler_key](human_age))
17
Я бы также воспользовался этой возможностью для краткого разговора с python и почти со всеми современными языками программирования в целом -
В современных языках программирования, почему существует так много способов сделать то же самое?
Python Zen, нет. 13, состояния -
Должен быть один - и предпочтительно только один - очевидный способ сделать это.
Тем не менее, есть несколько способов добиться того же Результаты. Я действительно с 1033 * современными языками программирования избавляюсь от соблазна добавить как можно больше функций и вместо этого сосредоточиться на том, чтобы лучше выполнять самую важную работу - скорость, инструменты, лучшее управление версиями, фреймворки.
Я родом из 'C' и считаю, что это лучший язык программирования, созданный до настоящего времени.