Tri dictatorial

Le pseudo-tri dictatorial d’une série d’entiers consiste à supprimer de la liste les entiers non triés.

Principe

Ce tri suit le principe suivant :

  • s’il n’y a aucun ou un seul élément, la série est considérée comme triée;
  • sinon :

    • on conserve le premier élément de la série ;
    • pour chaque élément de la série à partir du deuxième :

      • si l’élément est plus petit que le dernier élément conservé alors on l’élimine ;
      • sinon on le conserve.

Exemple

Si on considère la série \(2\), \(3\), \(1\), \(8\) :

  • on conserve le \(2\) qui est le premier élément ;
  • le \(3\) n’est pas plus petit que le dernier conservé (qui est \(2\)) donc on le conserve ;
  • le \(1\) est plus petit que le dernier conservé (qui est \(3\)) donc on l’élimine ;
  • le \(8\) n’est pas plus petit que le dernier conservé (qui est toujours \(3\)) donc on le conserve.

La série triée obtenue après cet algorithme est donc \(2\), \(3\), \(8\).

On souhaite coder une fonction tri_dictatorial qui prend en paramètre une liste d’entiers de type list et qui renvoie une nouvelle liste d’entiers triée, éventuellement vide, ne contenant que les éléments de la serie à conserver.

Pas de modification

La fonction ne doit pas modifier la série passée en paramètre.

Exemple

>>> s = [5, 2, 6, 8, 3, 7]
>>> tri_dictatorial(s)
[5, 6, 8]
>>> tri_dictatorial([])
[]

Correction d'erreurs

Bob a codé la fonction mais celle-ci comporte des erreurs et ne passe pas les tests.

Corriger les erreurs de cette fonction.

###(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
.128013s3o_;8èbcdufvgU/0lyq n7apS.r1-meh,(P2=4:twki][5R)é6050k0G0P0y0S0s0b0v0j0s0y0b0b0M010P0S0z010406050b0l0F0F0y0C0t040A0d0s0l0@0d0w0v020y0F0z0f0v0W0G110C0u0l0G0b050q0~1012140|0z041s1z051C0q1C1E1z0|0k0S0n0,0.0:0=0H0S0o0H0s1S0H0P0`050%0i0s0G1N0/0;011R1T1V1T0P1#1%1Z0P0i0d0k141!0C1A0P0H0,170b0z0y0w0=0L011)1P010m0)0G0w1f0G1Z24262b1+2e1%2h0F2j040a0v0K0C0d0z0d0b0S1a1c0#220C0C0G0j2E1s2l0w1A0q202Q0P1~1}1 0k2n0=1V0w2g2B1Z1K1M0-1*2!0S2$0w1`1L1Z0z2J1A2O2Q2{0}251c2,2c2;0C110s0`0D2N2 0{2~2m311+33350`0L39263b2O2Z013g0y36040c3k2P0|3n3e0=3q3s0N3v3m2 3o3B0`0V3E3x3G3z3p0d343r0`0Z3L3c301O3f3Q3h040x3V3y3Y3A3!3S040g3E1B2_1s2*2T0k2X3o0j1`2t0!1L1A2^0G2`3a3:3|0#443d3*010R0`0#0m3:3)2-010Q0`0v4h3N4b0w0m0`2U0S0e1K2L0y0P3Q0S3r4o4a4j0_040J4E3X4j0w0`0b0G0C0S0G4K3o4H0X0O3L0v4!4n4i2c4d040S4g1t3a4$4p4M0i0`2q4U3O4H4J4-3l3W3H4O4Q4S4^4b4W3E4/4F2c0d0`0M0M564~3O0F0S0`0r534G0`4Y4|3w4#5r574L4(0`2J0P0l0C0w5e4%1+4H0U0T4Z4#5f4q504R0G0e4u0G4T5p045t3o5a045d5T5V4_0`0U5l325M525T5K5m045(5-5D0=5h5j5)5E0`0T5H5T065r5.5v040m3Q5C4:5*4*67581+0d4l4*5B5!623f4=040C260o5S2}5?014`5`5@5i04385=685{040I6b5u6k4?2g6v6t0`4{6r6B3A5+6q456s4W4X5I5s5#4b4)4+6F4 044P5N6K5F6K4N6a6A6c0=4H5~2{6Z4j5X020o0P0f5Z6_6j6Q6)515O5Q6S4}6U5%6K5X0E6K5^6y6,5|5o2{606Y5s733p6R5P5N792P7q5X0B6.0`0y0z0z2g0k7j4I7A756+6;6G6?7c7M6(0S7H0T0X6X6`635x5z6h726s6/6*4S7t4S7v3b0q47433;7;0q3@1s0P3_7_2V2R1_1{2T0y1$7?3@1y497N012J0F0e0m0y0R5O0H0c0`1k1m1o1q0v7l451F3b1z0p2$0v0y192J0v0b17190S1b0v2A0:0S830v1q0P0v2G0b4A0j8f0C0v0.8O4Q0w0S0h8z0n3r0G5z220w6*0n0Y1(5o1I3 2+4b1-1U1W1Y413=2}5-7:873o4)4f6K6f4n7Q3O4r4t4R4w0S4y4A4R4D99546M7J7)7-7q4W8p3l7n4!7q6#4,7$6P3p6l4@9k5/6N6T9A7(767H7V6i6s5X5c6%5g6x5k9E2c4H9s5q7o9w5w0$7!9R9l5:6^3a9u7X3f7s789)6{5b9?9W7P6O6=7r7K5,9|886-9V1+7h9Ua14V5|9,9t617%4e8Y4S2J0e8%1%5z9_6d9^9N9I6R7H5;a89S5_a47O04ab9Z9v6s4)650Can747Saq9}6e0`2/aI9B5w6o9p7b7Iay017h6zav9*6EaL880w9C6JaX6uaX9J7La#5/0X6W5 7o9/0=9xaQa:a09H9}a3a=69aKb46CaB5U7x0`6}6 714.7q6/0#5Aah5Oak8)aHa-5n7Wa`bh9;7u7d0`7za/7B7D7F7H9G7aar9 aU9Ab3b1a)aO7T9M7ma`adbHbj8Z4Qbm8(ama(5Wap9z9}a bJb29{bM7R7T7W9#6m9%5Aa~bv7,3V7/3}2Q422Q853?0$0(0*04.