接受输入(专业)并返回输出(饮料类型)的写函数[关闭]

问题描述 投票:-2回答:2

此代码适用于所有输入,但如果输入无效,则应返回“啤酒”。我不确定是否有办法在字典中包含一个变量,该变量允许python中所有其他未分配的输入(例如“ else”语句),因此在末尾尝试了“ else”语句,但是此语法无效,因为之前没有“ if”语句。最后,如果输入不在列表中,那么我做了一个笨拙的添加,然后返回啤酒,但是这不起作用。

def get_drink_by_profession(param):
    p_to_d = param.title()
    return{
        "Jabroni":"Patron Tequila",
        "School Counselor":"Anything with Alcohol",
        "Programmer":"Hipster Craft Beer",
        "Bike Gang Member":"Moonshine" ,
        "Politician":"Your tax dollars",
        "Rapper":"Cristal",
        }[p_to_d]
    if param not in p_to_d:
        return "Beer"
python
2个回答
1
投票

您想进行安全获取并将“啤酒”作为默认值,如果不存在密钥refer here

def get_drink_by_profession(param):
    p_to_d = param.title()
    return{
        "Jabroni":"Patron Tequila",
        "School Counselor":"Anything with Alcohol",
        "Programmer":"Hipster Craft Beer",
        "Bike Gang Member":"Moonshine" ,
        "Politician":"Your tax dollars",
        "Rapper":"Cristal",
        }.get(p_to_d, "Beer")

0
投票

您可以在大型return语句之前访问p_to_d,因此您要做的就是更改其顺序。

def get_drink_by_profession(param):
    p_to_d = param.title()
    if param not in p_to_d:
        return "Beer"    
    return{
        "Jabroni":"Patron Tequila",
        "School Counselor":"Anything with Alcohol",
        "Programmer":"Hipster Craft Beer",
        "Bike Gang Member":"Moonshine" ,
        "Politician":"Your tax dollars",
        "Rapper":"Cristal",
        }[p_to_d]
© www.soinside.com 2019 - 2024. All rights reserved.