Union de dictionnaires

Écrire une fonction union qui prend en paramètres deux dictionnaires d1 et d2, dont les valeurs associées aux clés sont des nombres, et qui renvoie un dictionnaire d défini ainsi:

  • les clés de d sont celles de d1 et d2 réunies;
  • la valeur associée à une clé dans le dictionnaire d est la somme de ses valeurs associées dans les dictionnaires d1 et d2 si la clé est présente dans ces deux dictionnaires et sinon la valeur associée dans le dictionnaire où elle est présente.
Exemples
🐍 Console Python
>>> union({1: 4, 2: 3}, {1: 5, 3: 7})
{1: 9, 2: 3, 3: 7}
>>> union({}, {'a': 7, 'b': 5})
{'a': 7, 'b': 5}
>>> union({'a': 7, 'b': 5}, {})
{'a': 7, 'b': 5}
>>> union({'Aya': 15, 'Edith': 12}, {'Edith': 15, 'Aya': 12})
{'Aya': 27, 'Edith': 27}
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10
.128013:pbv(40i2+edmx3;ès7= 1}o5w_lSInatf-)9h]{R6qcrg,.[éyPku8/050m0l0H0G0i0C0s0v0S0C0G0s0s0u010H0i0c010406050s0$0n0n0G0T0Z040D0y0C0$0|0y0F0v020G0n0c0q0v0P0l160T0R0$0l0s050(13151719110c041x1E051H0(1H1J1E110m0i0e0;0?0^0`0M0i0U0M0C1X0M0H0 050,0d0C0l1S0@0_011W1Y1!1Y0H1*1,1(0H0d0y0m191)0T1F0H0M0;1c0s0c0G0F0`0j011.1U010I0.0l0F1k0l1(292b2g1:2j1,2m0n2o040a0v0!0T0y0c0y0s0i1f1h0*270T0T0l0S2J1x2q0F1F0(252V0H2322240m2s0`1!0F2l2G1(1P1R0=1/2)0i2+0F1 1Q1(0c2O1F2T2V30122a1h2;2h2_0T160C0 0v0w2S3410332r361:383a3c0j3f2b3h2T2(013m0G3b040v0p3q2U113t3k0`3w3y0v0g3C3s343u3I3c0z3M3E3O3G3v0y393x3c0Q3T3i351T3l3Y3n3z0t3%3F3*3H3,3!3z0%3:3V3=3X3Z3J0L3{3j3}3Q040w0h3M1G2~1x2/2Y0m2$3u0S1 2y0)1Q1F2}0l2 3g494i0*4q432=010#0 0*0I493;4x0A3c4D3|4x0F0I0 0$0F0i1g4I4w2h0~040f4S3)4K4A3e1y4r4E4U0 0V3M0v3(3P4A3p4%3r4/3W4V0K0b3T0v4~4.4)3l4A4-4^3}0y0 0u54510`4V0O0x4}4 554x4z040I3Y5a4J370 0=0l5o4T1:0y4G042@5u4Z5q040m4$325b014V4|4?3D4 5O505p525E4Y3u4V0X5U3W0F5r1,5Y3}4V0N5B3u5704595M3z5i5D5F5%4x5W5^5D5s5{1:5)5g4~5=1:5k5m0T5+5Z5#5t5:5Q5v0`5x0 5A6c633H4;5~5c0 5L30065P5h5I5k0i4C6j5I5!045}6z5R6f5y2_0H68565y6i306d5C5S0m6n5J6p616t6u6F3v535:6k6U045X6$6A6a6T606E6e015-5/6O6%6B0m4=5H6Z5`6+6Z6B6D6}6;6/6r6X6P3u5k0l0/6b746Q6o046q3g6s786Y6;6`6.0 6*7f4:6C5$70750 5*6:7g6=586K4!5T7x7C6 7t697v7e4(6~7z7F2h5-0k7S6R6|7P7y6)6T727w7L5(7R5:7l626v0 2O0H0$0T0F7W6l7H6r1x4t4p4a7 0(4d1x0H4f842!2W1~202Y0G1+814d1D4v7C2O0n0B0I0G0#0l0B0M0p0 1p1r1t1v0v7j4@1K3h1E0E0C0v0Z0v0G0v2L2_0n0d2O0$0s8y164P0r2O0:0m000Y0S0T0i2O0;0+0H1-5m0F2Q4Q0F0W1G8D040!170v0l0o1q0c1,5L1N4l2:3}1=1Z1#1%8i3u2u2l2n0 2A0D8$0}0H2B0Z254R6$4o8i314r7~9b3W5k4B6T5y4.7I3P4M044O8;7q4W7$4#9J4,7B7u6{9J4{6W6_6#6^5I6?7_6(0O9L7N9J8A2U797M0e3x0l7?9!655n9P4_0 4X9D7M737Z7J4+9!6B9.1,9;9|7*040K9!6g5z7^9^449Ma74x5-8?ai5D2I1q1wam5 9`0K5f7,5O6%9?67af7G9~3r9,6L6hae9X716mar7h9*1078ay6h6yaJ7o6-aB7T6H0y6JaX5w6MaI3gaF7G6SaM6(aO7-7m9V7{9 5V7r9%aD2U6%76a*6%9Za$7`9Ra.7Ka^9}7(b8a87A776XaR047c8S9)6WaQ6,a@4@5Ib7bpaK9(b67+aU7Cb2bx9Q9J7sbbaCbabs7!bdb09Y0 7Vb36!5E7YbHa07#a.7%7ObSa_04bJ3ra;bg7;7?a)aEa?a-7|0(9v802V8g1I040y0$0v0d0i2l923h2/3u971@1$2p6Z9d2w2y9h9j0c9l0!9n0M9p329r3(9t4@b;7/5E0laTbE2h9B7$9F9Hcjcuas9KbVah7)5_a1bO6`bRa}bq0 9Taw7n7C7pbObzbK7Q045e9Ucq66a2aWbA3Wac6NcWaV5E5GcBaNblcR7aaSc%buc)aGadc`b5cG4*7ic?6tb-bCa{bGcMcXb#9+b17EcJcFc;6(bDbYb9bXdabIabbMc cL9wa8dkdocSc(dia b$bm6Z7b7dbkcQ7ma+5?d7cEc{dAbwc-bydfc|a,c:dldvd8dnducHb!c!dE0 c$dgdOb,9Ya(dsdHbed5cq6xc`a|5;d/0 6Iabd:d,b.dPd3dIa=bne3dXd$dwd#5|d9edcCdcd|6ZcVd.btd0e4eca?d{a~dQdCc@9x7:0+b*c 3%b:4j2Vcl824m8hb`b|b~0Fc01O1Qc31#c59a6%c99f2z0v9i8%ce9m9ob+a}cl326$cpd)crcteacv4HbVcy4PcAe=cC9{d16RdWdxbZ9OdU5?dteta9a:axe8dq5.9!5davd?dK64d*9@f55Sd{fj6GaHc f1eg6f0 ale 7`8p0Zaqfz6(0faacU0 0Jd;a.ak9%fBfDe4fGfabffcbvbUfEbW9Jeifq7Dfee2fuf8eqbnescNd%e6bgd+fn7`fpb1e1f@bPeoe|fw04fydi6BfP9JfGfdfKf)6TfNdNg5fWfSd4f$cTfEbrf2dmf!fd6@dR9Qf7f/f,btf.dbd(6;azd`eff$c+e)ejc.5@fMfxfO0lfCg6fHf|5-1j1l0qfLfEgcfY0 gegkatfTd@endMgZd-gmbcgpftg+g3dzf 6(f#de04bNf|cKg=g^fZfWeib%cqb)7@eB7,7}eEb=4ceI4c0+0-0/04.