1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
# -*- coding: utf-8 -*-
from random import randrange
class Voiture:
def __init__(self, modele, plaque, couleur, typeVehicule = 'Nouvelle'):
self.modele = modele
self.plaque = plaque.upper()
self.couleur = couleur
self.nbreCourse = 0
self.typeVehicule = typeVehicule
if self.typeVehicule == 'Occasion':
self.kilometres = randrange(100000)
else :
self.kilometres = 0
def descripModele(self):
print("Modèle :",self.modele)
print("Plaque :",self.plaque)
print("Couleur :",self.couleur)
print("Nombre de courses :",self.nbreCourse)
print("Type de véhicule :",self.typeVehicule)
print("Kilométrage :",self.kilometres)
def roule(self, nbreKilometres):
self.kilometres += nbreKilometres
def compareVoiture(self, autreVoiture):
"""Compare une voiture à une autre et indique la meilleure au niveau du kilométrage."""
ch = '{} à plus de kilomètres que {}.'
ch2 = '{} et {} ont le même nombre de kilomètres.'
if self.kilometres < autreVoiture.kilometres :
print(ch.format(autreVoiture.modele, self.modele))
elif self.kilometres == autreVoiture.kilometres :
print(ch2.format(autreVoiture.modele, self.modele))
else :
print(ch.format(self.modele, autreVoiture.modele))
def course(self, voitureDeux):
"""On génère pour les deux voitures un nombre entre 0 et 100. La voiture qui a le plus grand nombre gagne et on lui ajoute une course au compteur."""
nbreCourseI = randrange(100) # courses gagnées self
nbreCourseII = randrange(100) # courses gagnées autre voiture
ch = 'La {} gagne la course !'
if nbreCourseI > nbreCourseII :
print(ch.format(self.modele))
self.nbreCourse += 1
else :
print(ch.format(voitureDeux.modele))
voitureDeux.nbreCourse += 1
def champion(self, voitureDeux):
"""Compare le nombre de courses des différentes voitures et indique le champion qui a le plus de victoires."""
ch = 'La {} avec la plaque {} est championne !!'
if self.nbreCourse > voitureDeux.nbreCourse :
print(ch.format(self.modele, self.plaque))
else :
print(ch.format(voitureDeux.modele, voitureDeux.plaque))
def changePlaque(self, nouvellePlaque):
"""Permet de changer la plaque d'une voiture."""
self.plaque = nouvellePlaque.upper()
def consommation(self, litreCent):
"""Calcule la consommation totale d'essence d'après le nombre de kilomètres."""
consommation = (self.kilometres*litreCent)/100
ch = 'La voiture a consommée {} litres en {} kilomètres.'
print(ch.format(consommation, self.kilometres))
def entretient(self, nouvelleCouleur = ''):
"""On enlève 1000 kilomètres à la voiture et si on veut on peut changer de couleur."""
if nouvelleCouleur != '' :
self.couleur = nouvelleCouleur
self.kilometres -= 1000
def crash(self):
ch = "La voiture {} s'est crachée !"
ch2 = "La voiture {} ne s'est pas crachée !"
nombre = randrange(10)
if nombre == 5 :
print(ch.format(self.modele))
else :
print(ch2.format(self.modele))
# ---------- Programme principal ---------- #
voiture1 = Voiture("BMW", "AXE-889", "Noire", "Occasion")
voiture1.descripModele()
voiture1.roule(12500)
print('Après ajout de quelques kilomètres :')
voiture1.descripModele()
voiture2 = Voiture("Audi","YES-778", "Gris foncé", "Nouvelle")
voiture2.descripModele()
print('Affichage de la voiture ayant le moins de kilomètres : ')
voiture1.compareVoiture(voiture2)
print('La course commence... Qui va gagner ?')
voiture1.course(voiture2)
print('Le champion est :')
voiture1.champion(voiture2)
print('On change de plaque à la voiture 1 :')
voiture1.changePlaque('zee-100')
voiture1.descripModele()
print('La consommation de la voiture 1 :')
voiture1.consommation(15)
print('Après un entretient avec nouvelle couleur :')
voiture1.entretient('Mauve')
voiture1.descripModele()
print('Après un entretient sans nouvelle couleur :')
voiture1.entretient()
voiture1.descripModele()
print('Est-ce que la voiture va se cracher ?')
voiture1.crash() |
Partager