2015-10-24 1 views
1
def Dishlist_all_cheap(d: [Dish], x: int): 
    for i in d: 
     if Dish_is_cheap(i, x) == False: 
      return False 
    return True 

contreDifférence entre ces deux codes?

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

Pourquoi et comment la mise en place de la question de l'instruction "return true"? Pour des raisons de contexte, la fonction Dish_is_cheaper indique si un plat est moins cher que le prix indiqué, tandis que Dishlist_all_cheap indique si tous les plats dans une liste sont moins chers que le prix indiqué.

+1

'retourner tout (Dish_is_cheap (plat, x) pour plat en d)' –

+1

Vous pourriez également dire 'si non Dish_is_cheap (i, x):' –

+0

@PadraicCunningham Est-ce que c'est important de savoir ce qu'est un plat? – smac89

Répondre

2

Ce code ne fonctionne pas bien:

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

Parce qu'il retourne True si la première Dish de la liste est pas cher. Vous voulez retourner True si tous les Dish es sont moins chers

C'est ce code qui fait ça bien:

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

Il retourne True si le Dish_is_cheap(i, x) est toujours True pour tous les plats .