#! /usr/bin/env python3 # TD9 p.100 # 2.11 # 2.11.1 bases def q_2_11_1(): d = { 1: [1, 2, 3], 2: [1, 4, 9], 'autres': { 3: None, 4: [1, 16], 5: [1, 32], } } print(d[1]) print(d[2][-1]) print(d[d[1][1]]) print(d[len(d['autres'][4])]) del d['autres'][3] d['autres'][4].append(81) for k in d['autres']: d[k] = d['autres'][k] del d['autres'] print(d) #q_2_11_1() # 2.11.2 compteurs def q_2_11_2(): def counts(word): counts = {} for c in word: if c in counts: counts[c] += 1 else: counts[c] = 1 return counts print(counts('coucou')) #q_2_11_2() # 2.11.4 annuaire def q_2_11_4(): d = { 'Michel': {'tel': '0606060606', 'plaque': '718 YC 971'}, } def plaque(d, nom): return d[nom]['plaque'] p = plaque(d, 'Michel') print(p) n = p.split() print(n[-1]) def identite(d, plaque): for nom in d: if d[nom]['plaque'] == plaque: return nom, d[nom]['tel'] return None, None nom, tel = identite(d, p) print(nom, tel) d['Michel']['plaque'] = "abc 12 de" d['Roger'] = d['Michel'] del d['Michel'] d['Roger']['tel'] = '0607070707' print(d) #q_2_11_4() # 2.11.5 pokemons def q_2_11_5(): mes_pokemons = ["pikachu", "bulbizarre", "roucarnage", "lippoutou"] mes_noms = {"bulbizarre": "jean-jacques", "roucarnage": "gros pigeon"} def noms_perso(ps, ns): names = [] for p in ps: if p in ns: names.append(ns[p]) else: names.append(p) return names print(noms_perso(mes_pokemons, mes_noms)) #q_2_11_5() # 2.11.6 français anglais def q_2_11_6(): def ajout(fr, en, d): if fr in d: print("déjà dans le dictionnaire", fr) else: d[fr] = en def affiche(d): for fr in d: print(fr, ':', d[fr]) def supprime(c, d): result = {} for k in d: if k[0] == c: continue result[k] = d[k] return result d = {} i = 0 while i < 5: fr = input("mot en français : ") en = input("traduction en anglais : ") ajout(fr, en, d) i += 1 affiche(d) fr = '' while fr == '' or fr in d: fr = input("mot en français : ") en = input("traduction en anglais : ") ajout(fr, en, d) c = input("lettre : ") d = supprime(c, d) affiche(d) q_2_11_6()