Méthode avec une classe

Fermé
insmk05 Messages postés 1 Date d'inscription samedi 25 septembre 2021 Statut Membre Dernière intervention 25 septembre 2021 - 25 sept. 2021 à 21:40
_Ritchi_ Messages postés 21209 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 7 avril 2024 - 26 sept. 2021 à 12:01
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

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
26 sept. 2021 à 09:04
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
_Ritchi_ Messages postés 21209 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 7 avril 2024 6 058
26 sept. 2021 à 12:01
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