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
| class Engin(object):
def __init__(self, braquage=90):
self.vitesse = 0
self.braquage = braquage
def virage(self):
return 1. * self.vitesse / self.braquage
def __repr__(self):
retour = []
retour.append("engin: %s" % self.__class__.__name__)
[retour.append("%s: %s" % (k, v)) for k, v in self.__dict__.items()
if not k.startswith("_")]
return "\n".join(retour)
class Sous_marin_alpha(Engin):
def __init__(self, braquage):
Engin.__init__(self, braquage)
class Sous_marin_bravo(Engin):
def __init__(self, braquage):
Engin.__init__(self, braquage)
def lance_une_bombe_nucleaire(self):
print "boum"
class Torpille(Engin):
def __init__(self, braquage):
Engin.__init__(self, braquage)
def explose(self):
print "Explosion !!!!!!"
if __name__ == "__main__":
ssm1 = Sous_marin_alpha(braquage=45)
ssm2 = Sous_marin_bravo(90)
torp1 = Torpille(150)
for vitesse in range(60, 121, 30):
for engin in [ssm1, ssm2, torp1]:
engin.vitesse = vitesse
print
print engin
print "virage: %f" % engin.virage() |
Partager