Solution TP1
Solution TP1
Solution TP1
import numpy as np
import matplotlib.pyplot as plt
def unique(l):
return set(l)
def get_duplicates(l):
u = unique(l)
res = set()
for v in l:
if v in u:
u.remove(v)
else:
res.add(v)
return res
# Partie 1: Tests
# ##################################################
print('Partie 1')
ma_liste = generate_list()
print('liste aléatoire: ' + str(ma_liste))
nombres_uniques = unique(ma_liste)
print('unique(): ' + str(nombres_uniques))
nombres_dupliques = get_duplicates(ma_liste)
print('get_duplicate(): ' + str(nombres_dupliques))
# Partie 2: déclaration de fonctions
# ##################################################
def generate_dict(l):
uniq = unique(l)
dup = get_duplicates(l)
res = []
for v in uniq:
d = {
'number': v,
'string': str(v),
'even': (v % 2 == 0),
'duplicated': v in dup,
};
res.append(d)
return res
def count_odd_duplicated(dict_list):
count = 0
for d in dict_list:
if not d['even'] and d['duplicated']:
count = count + 1
return count
# Partie 2: tests
# ##################################################
print('Partie 2')
liste_de_dictionnaires = generate_dict(ma_liste)
print("liste de dictionnaires: " + str(liste_de_dictionnaires))
nombre_impairs_dupliques = count_odd_duplicated(liste_de_dictionnaires)
print("Nombre d'élements impairs et dupliqués: " + str(nombre_impairs_dupliques))
# Partie 3: numpy
# ##################################################
print('Partie 3: numpy')
print('arr1=' + str(arr1))
print('arr2=' + str(arr2))
# Partie 4: matplotlib
# ##################################################
arr1.sort()
plt.show()