当前位置: 代码迷 >> python >> 这两个代码之间的区别?
  详细解决方案

这两个代码之间的区别?

热度:61   发布时间:2023-06-13 17:00:14.0
def Dishlist_all_cheap(d: [Dish], x: int):
    for i in d:
        if Dish_is_cheap(i, x) == False:
            return False
    return 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

为什么以及“返回真”语句的位置如何重要? 出于背景目的,函数Dish_is_cheaper表示菜肴是否比标价便宜,而Dishlist_all_cheap说明列表中的所有菜肴是否比标价便宜。

此代码无法正常运行:

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都便宜,您想返回True

正是这段代码很好地做到了:

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

它返回True ,如果Dish_is_cheap(i, x)永远是True为所有的菜。

  相关解决方案