Source de etudiant1.py
1: ### implémentation du type abstrait Étudiant
2: ### avec des listes Python
3:
4: def créer_étudiant(n,p,a):
5: return [n,p,a,-1,-1,-1]
6:
7: def nom_étudiant(e):
8: return e[0]
9:
10: def prénom_étudiant(e):
11: return e[1]
12:
13: def naissance_étudiant(e):
14: return e[2]
15:
16: def notemath_étudiant(e):
17: return e[3]
18:
19: def noteinfo_étudiant(e):
20: return e[4]
21:
22: def notediscipline_étudiant(d,e):
23: if d=='math':
24: return e[3]
25: elif d=='info':
26: return e[4]
27: else:
28: return -1
29:
30: def moyenne_étudiant(e):
31: return e[5]
32:
33: def modifier_notemath(e,n):
34: e[3] = n
35:
36: def modifier_noteinfo(e,n):
37: e[4] = n
38:
39: def calculer_moyenne_étudiant (e):
40: e[5] = (e[3] + e[4]) /2
41:
42: def afficher_etudiant(e):
43: print()
44: print("-----------------------------------")
45: print("| Prénom :",e[1])
46: print("| Nom :",e[0])
47: print("| Naissance en :",e[2])
48: print("| Note mathématiques : ",end="")
49: if e[3]>=0:
50: print(e[3])
51: else:
52: print('-')
53: print("| Note informatique : ",end="")
54: if e[4]>=0:
55: print(e[4])
56: else:
57: print('-')
58: print("| Moyenne : ",end="")
59: if e[5]>=0:
60: print(e[5])
61: else:
62: print('-')
63: print("-----------------------------------")
64: print()
65:
66: ### tests
67:
68: moi = créer_étudiant('Faine','Robert',2000)
69: afficher_etudiant(moi)
70: modifier_noteinfo(moi,16)
71: modifier_notemath(moi,14)
72: afficher_etudiant(moi)
73:
74: jsp = créer_étudiant('sans Peur','Jean',1371)
75: modifier_noteinfo(jsp,12)
76: modifier_notemath(jsp,11)
77: calculer_moyenne_étudiant(jsp)
78: afficher_etudiant(jsp)
79:
80: jb = créer_étudiant('Bonsergent','Jacques',1912)
81: modifier_noteinfo(jb,14.0)
82: modifier_notemath(jb,8)
83: calculer_moyenne_étudiant(jb)
84: afficher_etudiant(jb)
85:
86: at = créer_étudiant('Turing','Alan',1912)
87: modifier_noteinfo(at,20)
88: modifier_notemath(at,10.5)
89: calculer_moyenne_étudiant(at)
90: afficher_etudiant(at)
91:
92: kg = créer_étudiant('Gödel','Kurt',1906)
93: modifier_noteinfo(kg,13)
94: modifier_notemath(kg,17.5)
95: calculer_moyenne_étudiant(kg)
96: afficher_etudiant(kg)