Une seule valeur de ma liste est retournée

exercice classe en python

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je suis entrain d’apprendre python, je crée une petite classe avec quelques méthodes, mais quand je teste le programme, il y a un petit problème: lorsque j’appelle la méthode "getListeIngredients()", une seule valeur de la liste est affichée. Aidez-moi s’il vous plait!

Voici mon code:

#Classe Recette
class Recette:
    
    def __init__(self, unNom):
        self.nom = unNom
        self.listeIngredients = []
        
        
    def getNom(self):
        return self.nom
        
  
    def ajouterIngredient(self, unIngredient):
        self.listeIngredients.append(unIngredient)
    
        
    def getListeIngredients(self):

    	for ingredient in self.listeIngredients:
    		
            return ingredient     
    
    
               
               
#****************
#Programme principal
#****************
print("Saisir le nom de ta recette")
nomRecette = str(input())
print("\nCombien d'ingrédients veux-tu saisir?")
nbIngredients = int(input())
#****************
recette1 = Recette(nomRecette)
#****************
cptIngredients = 0
while cptIngredients<nbIngredients:
    print("\nSaisir ingrédient", cptIngredients+1)
    ingredient=input()
    recette1.ajouterIngredient(ingredient)
    cptIngredients+=1
	
print("\nListe ingrédients: ")
print(recette1.getListeIngredients())

        
+0 -0

Hello,

Mettre un return interrompt totalement la méthode. Du coup, ici, ta méthode s’arrête après avoir renvoyé le premier ingrédient. Il faudrait que tu renvoies directement la liste, sans la parcourir.

Ceci dit, si je ne dis pas de bêtise, tu dois pouvoir accéder directement à recette1.listeIngredients, non ?

Également, il y a des recommandations pour avoir un formatage commun en Python, et c’est le CamelCase pour les noms de classe, mais le snake_case pour les variables (donc ce serait plutôt liste_ingredients)

+7 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte