Python 这两种代码之间有什么区别?

Python 这两种代码之间有什么区别?,python,function,return,definition,Python,Function,Return,Definition,vs “return True”语句的位置为什么重要,如何重要?出于背景目的,函数Dish_is__便宜表示一道菜是否比规定价格便宜,而Dishlist_all_便宜表示列表中的所有菜是否都比规定价格便宜。此代码工作不正常: def Dishlist_all_cheap(d: [Dish], x: int): for i in d: if Dish_is_cheap(i, x) == False: return False else

vs


“return True”语句的位置为什么重要,如何重要?出于背景目的,函数Dish_is__便宜表示一道菜是否比规定价格便宜,而Dishlist_all_便宜表示列表中的所有菜是否都比规定价格便宜。

此代码工作不正常:

def Dishlist_all_cheap(d: [Dish], x: int):
    for i in d:
        if Dish_is_cheap(i, x) == False:
            return False
        else:
            return True
因为如果列表中的第一个
Dish
便宜,它将返回
True
。如果所有的
Dish
es都比较便宜,您希望返回
True

正是这段代码做得很好:

def Dishlist_all_cheap(d: [Dish], x: int):
    for i in d:
        if Dish_is_cheap(i, x) == False:
            return False
        else:
            return True

它返回
True
如果
Dish\u便宜(i,x)
对于所有的菜都是
True

返回全部(Dish\u便宜(Dish,x)对于d中的菜)
你也可以说
如果不是Dish\u便宜(i,x):
@padraiccnningham什么菜重要吗?
def Dishlist_all_cheap(d: [Dish], x: int):
    for i in d:
        if Dish_is_cheap(i, x) == False:
            return False
        else:
            return True
def Dishlist_all_cheap(d: [Dish], x: int):
    for i in d:
        if Dish_is_cheap(i, x) == False:
            return False
    return True