Что еще я могу использовать вместо elif, if, else операторов в python? - PullRequest
0 голосов
/ 30 января 2020

Привет всем, интересно, что еще мы можем использовать вместо утверждений elif, if, else? или как я могу изменить данное, если, elif, else, заявление на любой другой метод ..

Предположим, что у меня есть голосовой помощник, подобный этому;

webb = ["open web browser","web browser", "open browser"]
thkns = ["thank you","thank you so much", "thanks"]
fav_web = ["open my favourite web site","favourite web site","my best web site"]
hwaru = ["how are you", "what's up", "how is going"]
thtime = ["whats the time" , "the time", "time"]

def assistant(command):
    if command in webb:
        talkMe("Opening your web browser")
        webbrowser.open("https://www.google.com.tr")

    elif command in thkns: 
        talkMe("You are welcome")


    elif command in fav_web:
        talkMe("Opening your site")
        webbrowser.open("www.stackoverflow.com")

    elif command in hwaru: 
        msg = ["ı am good, you?", "good", "not bad"]
        talkMe(random.choice(msg))


    elif command in thtime:
        strTime = datetime.datetime.now().strftime("%H:%M:%S")
        talkMe(f"The time is {strTime} ")

, поэтому мне интересно, что еще я могу сделать? попробуй вместо элифа? Можете ли вы объяснить мне? я знаю elif, if, и другие операторы. В этом случае, если я хочу написать другую команду, я должен написать;

elif command in "":
    talkMe("")
    do some """

elif command in "": 
    """"

и так далее ... так что строк слишком много, вы можете сделать коды более короткими вместо операторов elif? или мне продолжать так?

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Вы можете использовать словарь. Вот полный пример

def switch_demo(argument):
    switcher = {
        "open web browser": "Opening your web browser",
        "web browser": "Opening your web browser",
        "open browser": "Opening your web browser",
        "thank you": "You are welcome",
        "thank you so much": "You are welcome",
        "thanks": "You are welcome"
    }
    print(switcher.get(argument, "Invalid Command"))

command = "thank you"
switch_demo(command)
0 голосов
/ 30 января 2020

Похоже, вы можете использовать словари.

d = {'Hello Google': obj1, 'open my favourite web site': obj2}
...