如何修复最后一个测试变量的错误返回语句?

时间:2019-04-01 03:12:25

标签: python

编写一个名为会场()的函数,该函数带有两个参数。您的函数应读取string参数中的值。如果字符串==“ party”并且数字<10,则函数应返回“在家中存放”。如果字符串==“ party”且数字> = 10,则函数应返回“更好地租用活动场所”。其他任何值都应返回“雇用事件计划者”。

def venue(s, n):
    if s == "party" and n < 10:
        return "Have it at home"
    elif s == "party" and n >= 10:
        return "Better rent an event place"
    else:
        return "Hire an event planner"

a = venue("party", 9)
b = venue("party", 20)
c = venue("party", 100)

我希望最后一个返回值是“雇用活动策划人”,但我会得到“更好地租用活动场所”

2 个答案:

答案 0 :(得分:2)

由于c与第二个条件匹配,因此它返回"Better rent an event place"

要解决此问题,您可以将c的字符串值更改为其他值,例如"event"

答案 1 :(得分:0)

因为您在循环中写过

if s == "party" and n < 10:

    return "Have it at home"

elif s == "party" and n >= 10:

    return "Better rent an event place"

else:

    return "Hire an event planner"

这意味着,如果存在大于或等于10的n值,则返回值为“更好地租用活动场所”。但是,如果n值不是小于,等于或大于10的任何值,则返回值为“雇用事件计划者”,这在正常情况下是不可能的。

如果可能,请尝试在循环中的变量或符号中进行更改。

希望这会有所帮助。