Méthode avec une classe

Bonjour, j'ai un programme à coder mais je dois utiliser des méthodes que je n'arrive pas à aboutir. A partir de ma [classe] Voiture, je dois avoir une méthode faire_le_plein qui, en écrivant print(verte.faire_le_plein()), doit me renvoyer le prix a payer en fonction du prix de l'energie associée à la voiture(ici verte et de la quantite à remplir. Je joint une photo de mon code actuel. Si vous pourriez m'aider s'il vous plaît.



2 réponses

  1. Bonjour,
    Voici une possibilité
    Ritchi

    class Voiture():
        energies = ['gazole', 'sp98', 'gpl']
        prix = [1.4, 1.6, 0.9]
    
        def __init__(self, couleur, energie, conso=5, reservoir=60, niveau=30):
            self.couleur = couleur
            self.energie = energie
            self.conso = conso
            self.reservoir = reservoir
            self.niveau = niveau
    
        def faire_le_plein(self):
            litres_necessaires = int(self.reservoir) - int(self.niveau)
            carburant = self.energies.index(self.energie)
            carburant_type = self.energies[self.energies.index(self.energie)]
            prix_carburant = self.prix[carburant]
            cout_total = prix_carburant * litres_necessaires
            print("litres necessaires={} type de carburant={} prix du carburant={}".
                  format(litres_necessaires, carburant_type, prix_carburant))
            return cout_total
    
    
    if __name__ == '__main__':
        # Mes voitures:
        rouge = Voiture('rouge', 'gazole')
        verte = Voiture('verte', 'sp98', 6, 70)
        bleue = Voiture('bleue', 'gpl', 7, 50, 10)
        # Leur cout:
        print("Voiture bleue:")
        print("Cout total:{}".format(bleue.faire_le_plein()))
        print("Voiture rouge:")
        print("Cout total:{}".format(rouge.faire_le_plein()))
        print("Voiture verte:")
        print("Cout total:{}".format(verte.faire_le_plein()))