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
.128013rv568èbe:olg1ma(cd7 tu4I{S2hws;}pk]é=.30q/[P9,_ixyn)+f-R050s0i0v0p0W0l0E0u0r0l0p0E0E0L010v0W0H010406050E0w0o0o0p0b0Y040A0k0l0w0|0k0Z0u020p0o0H0F0u0(0i160b0P0w0i0E050Q13151719110H041x1E051H0Q1H1J1E110s0W0c0;0?0^0`0C0W0m0C0l1X0C0v0 050,0h0l0i1S0@0_011W1Y1!1Y0v1*1,1(0v0h0k0s191)0b1F0v0C0;1c0E0H0p0Z0`0B011.1U010$0.0i0Z1k0i1(292b2g1:2j1,2m0o2o040a0u0S0b0k0H0k0E0W1f1h0*270b0b0i0r2J1x2q0Z1F0Q252V0v2322240s2s0`1!0Z2l2G1(1P1R0=1/2)0W2+0Z1 1Q1(0H2O1F2T2V30122a1h2;2h2_0b160l0 0u0n2S3410332r361:383a3c0B3f2b3h2T2(013m0p3b040u0N3q2U113t3k0`3w3y0u0x3C3s343u3I3c0d3M3E3O3G3v0k393x3c0e3T3i351T3l3Y3n3z0t3%3F3*3H3,3!3z0f3:3V3=3X3Z3J0T3{3j3}3Q040n0O3M1G2~1x2/2Y0s2$3u0r1 2y0)1Q1F2}0i2 3g494i0*4q432=010I0 0*0$493;4x0D3c4D3|4x0Z0$0 0w0Z0W1g4I4w2h0~040q4S3)4K4A3e1y4r4E4U0 0U3M0u3(3P4A3p4%3r4/3W4V0!0j3T0u4~4.4)3l4A4-4^3}0k0 0L54510`4V0z0G4}4 554x4z040$3Y5a4J370 0=0i5o4T1:0k4G042@5u4Z5q040s4$325b014V4|4?3D4 5O505p525E4Y3u4V0R5U3W0Z5r1,5Y3}4V0J5B3u5704595M3z5i5D5F5%4x5W5^5D5s5{1:5)5g4~5=1:5k5m0b5+5Z5#5t5:5Q5v0`5x0 5A6c633H4;5~5c0 5L30065P5h5I5k0W4C6j5I5!045}6z5R6f5y2_0v68565y6i306d5C5S0s6n5J6p616t6u6F3v535:6k6U045X6$6A6a6T606E6e015-5/6O6%6B0s4=5H6Z5`6+6Z6B6D6}6;6/6r6X6P3u5k0i0/6b746Q6o046q3g6s786Y6;6`6.0 6*7f4:6C5$70750 5*6:7g6=586K4!5T7x7C6 7t697v7e4(6~7z7F2h5-0#7S6R6|7P7y6)6T727w7L5(7R5:7l626v0 2O0v0w0b0Z7W6l7H6r1x4t4p4a7 0Q4d1x0v4f842!2W1~202Y0p1+814d1D4v7C2O0o0V0$0p0I0i0V0C0N0 1p1r1t1v0u7j4@1K3h1E0y0l0u0Y0u0p0u2L2_0o0h2O0w0E8y164P0g2O0:0s000K0r0b0W2O0;0+0v1-5m0Z2Q4Q0Z0M1G8D040S170u0i0X1q0H1,5L1N4l2:3}1=1Z1#1%8i3u2u2l2n0 2A0A8$0}0v2B0Y254R6$4o8i314r7~9b3W5k4B6T5y4.7I3P4M044O8;7q4W7$4#9J4,7B7u6{9J4{6W6_6#6^5I6?7_6(0z9L7N9J8A2U797M0c3x0i7?9!655n9P4_0 4X9D7M737Z7J4+9!6B9.1,9;9|7*040!9!6g5z7^9^449Ma74x5-8?ai5D2I1q1wam5 9`0!5f7,5O6%9?67af7G9~3r9,6L6hae9X716mar7h9*1078ay6h6yaJ7o6-aB7T6H0k6JaX5w6MaI3gaF7G6SaM6(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|0Q9v802V8g1I040k0w0u0h0W2l923h2/3u971@1$2p6Z9d2w2y9h9j0H9l0S9n0C9p329r3(9t4@b;7/5E0iaTbE2h9B7$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~0Zc01O1Qc31#c59a6%c99f2z0u9i8%ce9m9ob+a}cl326$cpd)crcteacv4HbVcy4PcAe=cC9{d16RdWdxbZ9OdU5?dteta9a:axe8dq5.9!5davd?dK64d*9@f55Sd{fj6GaHc f1eg6f0 ale 7`8p0Yaqfz6(0qaacU0 0%d;a.ak9%fBfDe4fGfabffcbvbUfEbW9Jeifq7Dfee2fuf8eqbnescNd%e6bgd+fn7`fpb1e1f@bPeoe|fw04fydi6BfP9JfGfdfKf)6TfNdNg5fWfSd4f$cTfEbrf2dmf!fd6@dR9Qf7f/f,btf.dbd(6;azd`eff$c+e)ejc.5@fMfxfO0ifCg6fHf|5-1j1l0FfLfEgcfY0 gegkatfTd@endMgZd-gmbcgpftg+g3dzf 6(f#de04bNf|cKg=g^fZfWeib%cqb)7@eB7,7}eEb=4ceI4c0+0-0/04.