Méthode avec une classe

insmk05 Messages postés 1 Statut Membre -  
_Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

    Pas de photos, on ne peut pas faire de copier/coller

    L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
    mode d'emploi:
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

    def test():
        print('test')
    
    test()
    
    0
  2. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     
    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()))
    
    0