Deux meilleurs scores
Le cadre
Vous venez de développer Flap Flap Bird, un jeu très dur où il faut
aider un oiseau à éviter des obstacles. À la fin de la partie,
vous enregistrez le score du joueur et vous souhaitez afficher
ses deux meilleurs scores. Ceux-ci peuvent être égaux.
On considère les deux listes de scores suivants :
-
scores_1 = [13, 15, 12, 3, 19, 7, 14]
-
scores_2 = [27, 35, 14, 35, 3, 26, 9]
Pour score_1, les deux meilleurs scores sont 19 et 15.
Pour score_2, ce sont 35 et 35.
Il est possible que la liste de scores contienne moins de deux valeurs.
Dans ce cas, les meilleures valeurs inconnues sont remplacées par None.
Exercice
Coder une fonction deux_meilleurs qui prend une liste d'entiers scores et renvoie :
- si la liste contient au moins deux scores :
- le couple formé par les deux meilleures valeurs
max_1 et max_2 avec max_1 ≥ max_2 ;
- si la liste ne contient qu'un seul score :
- le couple
(max_1, None) où max_1 est le score maximal ;
- si la liste est vide :
Contraintes : On n'utilisera ici ni max, ni min, ni sort, ni sorted.
Exemples d'utilisation
>>> scores_1 = [13, 15, 12, 3, 19, 7, 14]
>>> deux_meilleurs(score_1)
(19, 15)
>>> scores_2 = [27, 35, 14, 35, 3, 26, 9]
>>> deux_meilleurs(score_2)
(35, 35)
>>> deux_meilleurs([4, 5])
(5, 4)
>>> deux_meilleurs([5, 4])
(5, 4)
>>> deux_meilleurs([5, 5])
(5, 5)
>>> deux_meilleurs([9])
(9, None)
>>> deux_meilleurs([])
(None, None)
La valeur None
None est une valeur spéciale utilisée en Python et qui correspond
à un manque de valeur normale. Lorsque l'exécution d'une fonction
se termine sans avoir rencontré un return, Python renvoie
automatiquement la valeur None.
On peut tester si une variable x est associée à la valeur None de la
manière suivante :
🐍 Script Pythonif x is None:
...
On pourrait également tester x == None mais si x est un objet
d'une classe dans laquelle l'égalité a été redéfinie, l'égalité pourrait
être vraie, alors que x is None ne le serait pas.
.128013]x,59/fq7B8r;nb N_o=ylaepcwgu)vd461ç3kRImh?tsP(S02è[-i:050G0y0S0x0$0w0T0q0A0w0x0T0T0u010S0$0z010406050T0D0P0P0x0m0v040W0t0w0D0{0t0o0q020x0P0z0n0q0N0y150m0i0D0y0T050g12141618100z04051D1w1G0g1D100G0$0F0:0=0@0_0Q0$0C0Q0w1U0Q0S0~050+0p0w0y1P0?0^011T1V1X1V0S1%1)1#0S0m1E0S0Q1+1R010h0-0y0o1j0y010:1b0T0z0x0o0_0Y1#2b2d1 1-221)250P27040a0q0U0m0t0z0t0T0$1e1g0)290m0m0y0A2B1w2i0o1E0g1}2N1`1|1{1$0G2k0_1X0o242y1#1M1O0;1,2X0$2Z0o0t2%1#0z2G1E2L2N2^112c1g2)202.0m150w0~0q0J2K2|0 2{2j2~1-3032340Y372d392L2W013e0x33040q0L3i2M103l3c0_3o3q0q0H3u3k2|3m3A340e3E3w3G3y3n0t313p340I3L3a2}1Q3d3Q3f3r0j3V3x3Y3z3!3S3r0l3(3N3*3P3R3B0f3:3b3=3I040J0X3E1H2?1w2%2Q0G1|2V3O0A2/2q0(1N1E2=0y2@38414b0)4j3{2*010M0~0)0h413)4q0B344w3;4q0o0h4t0y0D0c0s2p0-1)0D0m1v1x4k4x200}040V4B4p2 0~0T4b2G4Q2`4T1-4V0E0%3L0q4;0q3W3H0~154J364R3j4?4+0_0t0~0u3E4 4C200M0A0~0r1f0y4:4=4@3O0o4_0x4J3h4}2M564Z1-5204545o3r5h3=595b5d5f4;5y4q4s040h3Q555F4!040c5L50010t4z042,5Q573d4#4%1u4Y3X4q4V4/5w064=5.5q5(580~0$4v5w5:3m4V4X5w5M5Z044`0s4|2^5`3O5T5?4)38665z5a045c2Z5%5{0~0E5X5r515U5K5_5 0_5|6i5i0~5P6r5R5t020C0S0n6m5;6062644S5Y6t6k5+2^5-5/6S6s3n5k5m6G3m5t5v656U5j615l635D6S5g5R6(6J6Y67536=3|6x6,5.6U5H0y1X5^6$5R6u5~6/6W0s5n726M5S5U0$6a4~6}6e6g5e757b4-6^4q68046q7a6n01744*7b6(6y7t6H510~6C6E7o5N62796L7u4-6P386R6-6.7y777K7g6A6@6z7T5O6,6}0~2G0S4O0o7H4,0~5}7x7u6:6*6K3j6U4V0d7-3z7U6v3=7n5,1w4m4i42860g451w0S478b2T2O0x1(88451C4o7C012G0P0s0h0x0M0y0s0Q0L0~1o1q1s1u0q7O7_1J391D0O0w0q1u0S0q2x0@0$8i0q2D8s0$2G0q0D2Z0q8s0K1f8P1c0/2=0t0A0Q1*0G008!1*2G8/0y0m8`8U1*4`0$0P132k0$8C0d0q0T2d0/0S8N8{4?856f5C0g9g8E1H392%3m1/1W1Y1!8m3m2m24260~2s0W0A0m0|8O0U0v1}1f414h8m2_4k9g7%044u804y4A7l7=4F9R4H4J4L0w4N4P9T4U7/9*604$3Q5$9W8n7N7$5R5H5@7}3n0p0~2n9-6N4Wa16V049/4(a4827B6Z536#6b6U0P0$0~409=6j048F3v7R9Q7)7+9|7w7L8n5A9h6hal3O7{9|ay7ja96k9^7b6~709|0o9~04a0aB819,aS4D5!9:7f2M7`aI7Z7u6!ae7W7bah0~7^a!730~ao0 aq9_7(0*ata%9?aU7;8n6(a79;b0am0!a4a-04akb5aC0~0b7|a}3maF9ibcaT046l5,7Q6c5G5?71af76a65#aZ9ubd04b7aV20b9bbawam0b9|6B6D6Fbh6wbxaYaHbCb8ai3~bT0ba?bq6|bw6;bE7.04bgabbQ7JbL7Yb-6_bRa8b)a2bDbl4qbGbYb,bv7!b3bza#bUb_01b9a/bAbmbK5,b$aK0~6 0T7kb|9+an6{7S7=77cac5c0a+cq6)6XbP3=6!aNaXb^clb*b{bI3Oc9b cCb@b4cIbmcH7_5Rb~c74Vcd6Qbq9Q5J0mcM0$bL7d7,cz4DaP0m2d0CckcP5)a c?bFbW7Va:7m0~cu5p6%aPaRcFa27:c_9.bybT0E4.co5Ea_5Vbucvb1cDcOcSc~c6d5a5c(cVbeb:047FbOb=aWcx6+dtcnce7RcpdkdBc|5x7X5ucMb(6QdGdH4^dBcabr20cBc,5Nc3bTcRc}cwdsdqcWdedW1-aL9{dZd9bSdDd%cbdAd*d8a2cXc1a(7EbNdO6*dKc5b!dRdf7!b/d=7DdNeda5d#d^a46(d|dn7Mdubpcf7u5Has0mc+dzcmd7endIdPd}7vc e4cyd+a$6Q844c2N9L444f10890*0,0.9n1N3m0x0G0P1f2A0$8)0p1f0D0T0~1CeYe!e$2B0#0{0S1^040ke+4Q1K1F040U4H0S0#8)2z1k700$9e0w000y0c8{0A0$0A1*2z0q8)0)150o2D8!951t2p0o8O1)8~4I0$0Z2p0q9$9(0q0R9meR45.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)