Упростить большую вложенную функцию if-elifPython

Программы на Python
Anonymous
Упростить большую вложенную функцию if-elif

Сообщение Anonymous »

В настоящее время у меня есть функция, похожая на:

Код: Выделить всё

def func():
mychoose = input()
if mychoose == '1':
result = 1
elif mychoose == '2':
secondchoose = input()
if secondchoose == '1':
result = 'another result'
elif secondchoose == '2':
result = 'random another result'
elif mychoose == '3':
thridchoose = input()
if secondchoose == '1':
result = 'some result'
elif secondchoose == '2':
result = 'some some result'
elif secondchoose == '3':
result = 'result'
return result
Я хочу сделать этот код более компактным, не разбивая его на несколько функций. пожалуйста, дайте мне совет, как мне это сделать.
У меня есть идея использовать функцию list + try/Exception:

Код: Выделить всё

def func():
list = [1,2,3]
try:
choose = int(input())
retuen = list[choose-1]
except ValueError:
print('wrong value)
return func()
Но понятия не имею, как использовать с ним вложенные функции, как я использовал это в if/elif.
Хотелось бы услышать совет о том, какой метод использовать вместо try/Exception тоже.

Подробнее здесь: https://stackoverflow.com/questions/790 ... d-function

Вернуться в «Python»