from sys import argv
class Personne:
def __init__(self, nom, prenom, age):
self.nom = nom
self.prenom = prenom
self.age = age
self.determinerStatut()
self.invariant()
def anneeSuivante(self):
assert self.age == int(self.age)
ageAvant = self.age
self.age = self.age + 1
assert self.age == ageAvant + 1
self.invariant()
def determinerStatut(self):
assert self.age == int(self.age)
if self.age >= 18:
self.statut = "majeur"
else:
self.statut = "mineur"
assert ((self.age >= 18 and self.statut == "majeur") or (self.age < 18 and self.statut == "mineur"))
self.invariant()
def __repr__(self):
return self.prenom + " " + self.nom + "(" + str(self.age) + ")"
def invariant(self):
assert self.nom != ""
assert self.age >= 0
assert self.age >= 18 or self.statut == "mineur"
assert self.age < 18 or self.statut == "majeur"
if argv[1] == "1":
personne = Personne("Mermet", "Bruno", 16)
print(personne)
input()
personne.anneeSuivante()
print(personne)
input()
personne.anneeSuivante()
elif argv[1] == "2":
personne = Personne("Mermet", "Bruno", 20.4)
else:
personne = Personne("", "Bruno", 20)