TP1 Modifications diverses
This commit is contained in:
parent
5b48976d16
commit
905031717c
|
@ -12,12 +12,12 @@ def question(numero):
|
||||||
|
|
||||||
question(1)
|
question(1)
|
||||||
|
|
||||||
test1 = type(l_etudiants) is list
|
test1 = type(l_etudiants) == list
|
||||||
for i in l_etudiants:
|
for i in l_etudiants:
|
||||||
if not (type(i) is tuple and len(i) == 5 and type(i[4]) is int):
|
if not (type(i) == tuple and len(i) == 5 and type(i[4]) == int):
|
||||||
test1 = False
|
test1 = False
|
||||||
for j in range(4):
|
for j in range(4):
|
||||||
if not type(i[j]) is str:
|
if not type(i[j]) == str:
|
||||||
test1 = False
|
test1 = False
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,24 +53,24 @@ def nbre_prenoms(prenom):
|
||||||
"""
|
"""
|
||||||
str → int
|
str → int
|
||||||
Renvoie le nombre d’étudiants dont le prénom est passé en paramètre
|
Renvoie le nombre d’étudiants dont le prénom est passé en paramètre
|
||||||
CU: prenom est un str
|
CU : prenom est un str
|
||||||
"""
|
"""
|
||||||
assert(type(prenom) == str)
|
assert(type(prenom) == str), "prenom n'est pas du type str"
|
||||||
|
|
||||||
return [i[2] for i in l_etudiants].count(prenom.upper())
|
return [i[2] for i in l_etudiants].count(prenom.upper())
|
||||||
|
|
||||||
print("Il y a", nbre_prenoms("Alexandre"), "étudiants qui s'appellent Alexandre")
|
print("Il y a", nbre_prenoms("Alexandre"), "étudiants qui s'appellent Alexandre")
|
||||||
print("Il y a", nbre_prenoms("Camille"), "étudiantes qui s'appellent Camille")
|
print("Il y a", nbre_prenoms("Camille"), "étudiant(e)s qui s'appellent Camille")
|
||||||
|
|
||||||
|
|
||||||
question(6)
|
question(6)
|
||||||
|
|
||||||
ensemblePrenoms = set([i[2] for i in l_etudiants])
|
ensemblePrenoms = set([i[2] for i in l_etudiants])
|
||||||
|
|
||||||
print('Il y a', len(ensemblePrenoms), 'prénoms différents parmi tous les étudiants')
|
print('Il y a', len(ensemblePrenoms), 'prénoms différents parmi tous les étudiants')
|
||||||
|
|
||||||
question(7)
|
question(7)
|
||||||
|
|
||||||
|
# La question demande "quel est le prénom le plus fréquent", nous nous sommes permis ici de répondre à la question "quels sont les prénoms les plus fréquents"
|
||||||
|
|
||||||
nbresPrenoms = dict((i, nbre_prenoms(i)) for i in ensemblePrenoms)
|
nbresPrenoms = dict((i, nbre_prenoms(i)) for i in ensemblePrenoms)
|
||||||
|
|
||||||
prenomsPlusFrequent = set()
|
prenomsPlusFrequent = set()
|
||||||
|
@ -82,6 +82,9 @@ for i in nbresPrenoms:
|
||||||
elif nbresPrenoms[i] == nbrePrenomsPlusFrequents:
|
elif nbresPrenoms[i] == nbrePrenomsPlusFrequents:
|
||||||
prenomsPlusFrequent.add(i)
|
prenomsPlusFrequent.add(i)
|
||||||
|
|
||||||
|
# Pour tester le cas où plusieurs prénoms arriveraient à la même quantité, décommentez la ligne suivante
|
||||||
|
# prenomsPlusFrequent.add('MAURICE')
|
||||||
|
|
||||||
terminaison = 's' if len(prenomsPlusFrequent) > 1 else ''
|
terminaison = 's' if len(prenomsPlusFrequent) > 1 else ''
|
||||||
print('Le'+terminaison+' prénom le'+terminaison+' plus fréquent'+terminaison, 'sont' if len(prenomsPlusFrequent) > 1 else 'est', ', '.join(prenomsPlusFrequent))
|
print('Le'+terminaison+' prénom le'+terminaison+' plus fréquent'+terminaison, 'sont' if len(prenomsPlusFrequent) > 1 else 'est', ', '.join(prenomsPlusFrequent))
|
||||||
|
|
||||||
|
@ -115,4 +118,5 @@ def liste_formation(formation):
|
||||||
CU : formation est une formation valide
|
CU : formation est une formation valide
|
||||||
"""
|
"""
|
||||||
assert(formation in parcours), "La formation donnée n'est pas valide"
|
assert(formation in parcours), "La formation donnée n'est pas valide"
|
||||||
|
|
||||||
return list(i[0:2]+(i[4],) for i in l_etudiants if i[3] == formation)
|
return list(i[0:2]+(i[4],) for i in l_etudiants if i[3] == formation)
|
||||||
|
|
Reference in a new issue