def Dishlist_all_cheap(d: [Dish], x: int):
for i in d:
if Dish_is_cheap(i, x) == False:
return False
return True
VS。
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_is_cheaper功能表示菜肴是否比所述价格便宜,而Dishlist_all_cheap表示列表中的所有菜肴是否比所述价格便宜。
答案 0 :(得分:2)
此代码效果不佳:
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
。如果所有True
es更便宜,您想要返回 Dish
这段代码做得很好:
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
。