#Q2 def points(mot): scrabble = {"A":1,"B":3,"C":3,"D":2,"E":1,"F":4,"G":2,"H":4,"I":1,\ "J":8,"K":10,"L":1,"M":2,"N":1,"O":1,"P":3,"Q":8,"R":1\ ,"S":1,"T":1,"U":1,"V":4,"W":10,"X":10,"Y":10,"Z":10} score = 0 for lettre in mot : score += scrabble[lettre] return score print(points("MER")) #Q3 def occurrence(txt) : dico = { } for lettre in txt : if lettre in dico : dico[lettre] += 1 else: dico[lettre] = 1 return dico print(occurrence("abracadabra")) Conf = [ {"label" : "c1", "d" : 8, "f" : 9}, {"label" : "c2", "d" : 8.45, "f" : 10.3}, {"label" : "c3", "d" : 8.1, "f" : 11.3}, {"label" : "c4", "d" : 11.15, "f" : 11.45}, {"label" : "c5", "d" : 12, "f" : 12.45}, {"label" : "c6", "d" : 11, "f" : 13}, {"label" : "c7", "d" : 12.3, "f" : 14}, {"label" : "c8", "d" : 16, "f" : 17}, {"label" : "c9", "d" : 15, "f" : 18} ] #Q5 def choix_conferences(C): """Entrée : C une liste de dictionnaires Sortie : Planning une liste de dictionnaires""" planning = [C[0]] fin = C[0]["f"] for elt in C: if fin <= elt["d"]: planning.append(elt) fin = elt["f"] return planning #Q6 solution = choix_conferences(Conf) for elt in solution : print(elt["label"], end = ' ') #Q7 def rendu_monnaie(S, v): rendu = {} i = 0 while i < len(S) and v > 0: if S[i] <= v : if S[i] in rendu.keys(): rendu[S[i]] += 1 else: rendu[S[i]] = 1 v -= S[i] else: i = i + 1 return rendu print(rendu_monnaie([100, 50, 20, 10, 5, 2, 1], 49)) #Q8 def sac_a_dos( L , capacite ): """Entrée : L liste de dictionnaire, capacité : float Sortie : Liste de str""" masse_sac = 0 sac = [] i = 0 valeur = 0 while masse_sac + L[i]["p"] <= capacite and i < len(L): sac.append(L[i]["fruit"]) valeur = valeur + L[i]["p"] * L[i]["vm"] masse_sac = masse_sac + L[i]["p"] i = i + 1 return sac fruitsDisponibles = [{"fruit" : "melon de cavaillon", "vm" : 3,"p" : 1}, {"fruit" : "melon jaune","vm" : 2.5, "p" :2}, {"fruit" : "pastèque","vm" : 2, "p" :3}] print(sac_a_dos(fruitsDisponibles, 5))