#python
#python
Вопрос:
Итак, я исхожу из Visual Basic. Все еще кодирую его, но также немного изучаю python на стороне. Что я часто делаю в VB, так это то, что я могу перенаправлять пользователей на новый подраздел.
UserOp = input("What option would you like to do? 1, 2 or 3")
if userop == "1":
option1()
elif userop == "2":
option2()
elif userop == "3":
option3()
Итак, цель здесь — перенаправить пользователя на новый подраздел, называемый либо ‘option1’ ‘option2’ ‘option3’.
Спасибо, я знал, что это звучит глупо, но я только начал
Комментарии:
1. похоже, это должно сработать. В чем проблема / ошибка, с которой вы столкнулись?
2. ну, например. если пользователь нажал 1. Это перенаправило бы их на опцию 1. Итак, мой вопрос в том, как мне создать новый подраздел для option1?
3. Я думаю, то, что вы имеете в виду, — это функция. Объявлено в python с помощью Def.
4. Если это еще не сделано, вам следует поработать с учебным пособием по Python
5. Это
def
, а неDef
иdef
не функция! ТакжеUserOp
иuserop
являются разными переменными в Python, потому что случай имеет значение. Вы действительно должны следовать базовому руководству по Python, чтобы узнать об основах. Таким образом, вы только потеряете время.
Ответ №1:
Итак, сначала вам нужно определить функцию, после чего вы сможете их вызвать.
Я переработал код :
def option1():
print ("opt1")
def option2():
print ("opt2")
def option3():
print ("opt3")
UserOp = input("What option would you like to do? 1, 2 or 3 : ")
if UserOp == "1":
option1()
elif UserOp == "2":
option2()
elif UserOp == "3":
option3()
Я надеюсь, это может вам помочь.
Ответ №2:
Pythonic способ сделать это — использовать словарь:
def option1():
print(1)
def option2():
print(2)
def option3():
print(3)
switch = {
"1": option1,
"2": option2,
"3": option3,
}
user_option = input("What option would you like to do? 1, 2 or 3")
switch.get(user_option, "Invalid option. Valid values 1, 2, and 3")()
Способ, которым это работает, заключается в том, что вы сопоставляете пользовательские параметры функциям с помощью dictionary. В моем примере это называется switch . Каждый ключ словаря является пользовательским выбором и указывает на определенную функцию. После того, как пользователь выбирает параметры, вы вызываете dictionary с помощью метода get и причины get, потому что он может обрабатывать недопустимое значение. Аналогично инструкции default: в инструкции switch. Другой способ сделать это:
switch[user_option]()
но это не удастся в случае, если пользователь введет недопустимую запись.