Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Je crée des données aléatoires, j'importe donc le module random
- import random
- random.seed(1)
- # Q1 : Quels véhicules ont coûté le plus cher et le moins en réparations en 2018 ?
- print("Question 1")
- # 1.1) Créer les données
- data = []
- for v in ['Voiture A','Voiture B','Voiture C','Voiture D']:
- for a in [2016, 2017, 2018, 2019, 2020]:
- data.append([v,a,random.randint(100,2000)])
- random.shuffle(data)
- # 1.2) Créer une liste des coûts de tous les véhicules en 2018
- # Créer une liste vite qui recueillera les informations
- cost_2018 = []
- # passer à travers les données
- for l in data:
- # si la date est égale à 2018, j'ajoute les données à la liste
- if l[1] == 2018:
- cost_2018.append([l[0],l[2]])
- # 1.3) Trier cette liste par ordre croissant avec la commande : liste.sort(key = lambda x: x[position])
- cost_2018.sort(key = lambda x: x[1])
- # 1.4) Extraire le premier et le dernier élément de la liste
- print(cost_2018[0])
- print(cost_2018[-1])
- # Q2 : Quel véhicule a connu la plus grande différence de coût entre 2017 et 2020 ?
- print("\nQuestion 2")
- # 2.1) Lire les données
- # Déjà dans data
- # 2.2) Créer un dictionnaire de dictionnaire des coûts par véhicule et par année
- dictio = {}
- # itérer à travers les données bruts
- for l in data:
- # Si "dictio" n'a pas encore de dictionnaire pour la clé de l'année....
- if l[0] not in dictio:
- #... il crée un dictionnaire vide
- dictio[l[0]] = {}
- # maintenant que nous somme sûr qu'il existe un dictionnaire pour cette année, je peux lui attribuer un élément clé = "véhicule", valeur = coût pour cette année
- dictio[l[0]][l[1]] = l[2]
- # 2.3) Extraire les données pertinentes du dictionnaire (dans une liste)
- # Je crée une liste vide
- diff = []
- for veh, v in dictio.items():
- diff.append([veh, v[2020] - v[2017]])
- # 2.4) Extraire le premier et le dernier élément de la liste
- diff.sort(key = lambda x: x[1])
- print(diff[-1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement