简体   繁体   中英

What else can I use instead of elif, if , else statements in python?

Hello everyone ı wonder what else we can use instead of elif, if , else statements? or how can ı change given if , elif , else statement to any other method..

Assume that ı have voice assistant like this;

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} ")

so I wonder, What else do I try instead of elif? Can you please explain to me? ı know elif , if , and else statements.In this case if I want to write other command ı have to write;

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

elif command in "": 
    """"

and so on.. so that rows are too many can ı make the codes more shorter instead of elif statements? or should i continue like this?

看起来你可以使用字典。

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

You can use dictionary. Here is complete example

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)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM