Aller au contenu

Exercices sur les tableaux

QCM 1⚓︎

Parcours sur les indices ou sur les valeurs ?

On considère un tableau non vide contenant des valeurs quelconques. Indiquer dans chaque cas le bon type de parcours à effectuer.

  • On souhaite déterminer l'indice de la valeur maximale.

    • Parcours sur les indices
    • Parcours sur les valeurs
    • ✅ Parcours sur les indices
    • ❌ Parcours sur les valeurs
  • On souhaite calculer la somme des valeurs.

    • Parcours sur les indices
    • Parcours sur les valeurs
    • ❌ Parcours sur les indices
    • ✅ Parcours sur les valeurs
  • On souhaite créer un nouveau tableau ne contenant que les valeurs de la première moitié de tableau.

    • Parcours sur les indices
    • Parcours sur les valeurs
    • ✅ Parcours sur les indices
    • ❌ Parcours sur les valeurs
  • On souhaite déterminer les deux extrema (minimum et maximum).

    • Parcours sur les indices
    • Parcours sur les valeurs
    • ❌ Parcours sur les indices
    • ✅ Parcours sur les valeurs
  • On souhaite élever au carré toutes les valeurs du tableau en écrivant les nouvelles valeurs dans le même tableau. Par exemple [2, 3, 4] deviendrait [4, 9, 16].

    • Parcours sur les indices
    • Parcours sur les valeurs
    • ✅ Parcours sur les indices
    • ✅ Parcours sur les valeurs avec une liste en compréhension : tableau = [x * x for x in tableau]

Les notes d'Alice - Saison 1⚓︎

bulletin

1. Alice veut créer la liste des notes qu’elle a obtenues ce trimestre en NSI.
Ces notes ne sont pas forcément des nombres entiers.
Ecrire une fonction qui demande de saisir les notes une par une, et qui renvoie liste_notes, la liste des notes qu’elle a obtenues.

Astuce 1

Vous pouvez prendre en paramètre de la fonction le nombre de notes à saisir.

Astuce 2

vous pouvez initialiser liste_notes = [], puis ajouter dans la liste les notes une par une avec une boucle.

Compléter le code

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
🐍 Script Python
def creation_liste(n):
    """
    n est un entier donnant la taille de la liste à saisir
    La fonction renvoie la liste saisie
    """
    liste_notes = []
    for i in range(n):
        note = float(input("saisir votre note : "))
        liste_notes.append(note)
    return liste_notes

2. Créer le programme qui demande la saisie du nombre de notes, crée la liste des notes, affiche la plus petite note, et la plus haute.
💡 Indication : tester les fonctions min et max.

Vous pourrez utiliser la fonction écrite en question 1 (si vous l'avez bien exécutée), sans l'écrire à nouveau.

Ecrire le code ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
🐍 Script Python
n = int(input("nombre de notes à saisir : "))
notes = creation_liste(n) # de type liste
note_mini = min(notes)
note_maxi = max(notes)
print("note minimale :  ", note_mini)
print("note maximale :  ", note_maxi)

3. Créer une fonction moyenne qui prend en paramètre une liste lst et renvoie la moyenne des éléments de cette liste.

Compléter le code

Compléter le script pour qu’il affiche la moyenne des notes saisies par Alice. La fonction creation_liste est dans du code caché, il ne faut pas l'écrire.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
🐍 Script Python
def moyenne(lst):
    """
    Cette fonction renvoie la moyenne de la liste lst
    """
    somme = 0  #initialisation de la somme des notes
    for note in lst:  # calcul de la somme des notes avec une boucle
        somme = somme + note
    moyenne = somme/len(lst)  # len(liste) est le nombre de notes
    return moyenne

n = int(input("nombre de notes à saisir : "))
notes = creation_liste(n)
print(notes)  
moyenne_notes = moyenne(notes)
print(moyenne_notes)

Exercices du site "CodEx"⚓︎

Remarque

Ne faire que les exercices dont les liens sont donnés ici, car certains se trouvant sur le menu de gauche nécessitent des connaissances que nous n'avons pas encore vues.

Recherche d'indice - non guidé

Il s'agit de déterminer l'indice de la plus petite valeur dans un tableau non-vide.

Indice du minimum d'un tableau

Recherche de valeur - non guidé

La recherche de la valeur maximale dans un tableau. Classique.

Maximum

Lecture dans un tableau - non guidé

On donne les altitudes des différentes étapes d'une course en montagne. On demande quel est le dénivelé positif total.

Dénivelé positif

Comparaison d'éléments consécutifs - non guidé

Le tableau fourni est-il trié ?

Est trié ?

Modification d'un tableau⚓︎

Cet exercice est à réaliser pour introduire la notion "Affectations et listes" de la section suivante.

On se donne un tableau, une valeur cible et une valeur de remplacement et il faut parcourir le tableau et remplacer la cible par la nouvelle valeur.

Écrire la fonction remplacer prenant en argument :

  • une liste d'entiers valeurs
  • un entier valeur_cible
  • un entier nouvelle_valeur

Cette fonction doit renvoyer une nouvelle liste contenant les mêmes valeurs que valeurs, dans le même ordre, sauf valeur_cible qui a été remplacée par nouvelle_valeur.

⚠️ La liste passée en paramètre ne doit pas être modifiée.

Exemples
🐍 Console Python
>>> valeurs = [3, 8, 7]
>>> remplacer(valeurs, 3, 0)
[0, 8, 7]
>>> valeurs
[3, 8, 7]
🐍 Console Python
>>> valeurs = [3, 8, 3, 5]
>>> remplacer(valeurs, 3, 0)
[0, 8, 0, 5]
>>> valeurs
[3, 8, 3, 5]
Compléter

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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 : 5/5

.127797.128013.128073.8217c*sSbg!9viU(,d0A6_=tC1u5rPw-7 f.êzTn8xOkR];eéèh4lmjqop:à2)ay/L[3050r0V0x0.0n0!0g0H0e0!0.0g0g0w010x0n0)010406050g0A0#0#0.0C0/040h0(0!0A170(0N0H020.0#0)0U0H0S0V1h0C0%0A0V0g050:1e1g1i1k1c0)04051P1I1S0:1P1c0r0n0m0 111315110N0j0A0.0j0V0F0)0/0x0Y1r0H0Y0n0j0Y0!1{0Y0x1a050`0i0!0V1#1214011`1|1~1|0x2426220x0C1Q1?0 1n0g0)0.0N150,01281%010I0|0V0N1v0V222q2s2x2a2A262D0#2F040b0H0D0C0(0)0(0g0n1q1s0^2o0C0C0V0e2!1I2H0N1Q0:1?2:2k2m2l230r2J1(0n0N2C2X221Y1!10292}2 0N0(33220)2)1Q2.2:3g1d2r1s352y390C1h0!220.1_2)0I15030v0v0e3a0V1~380(0F0B0F0z1a0z1I0.3h3k1b3j2I3m2a3o3q3s3u0V3w013y3A3C3E303H0F2v040,3N3P2s3R2.2|013W0.3r1Q3t0Y3v3x3z3B0^3*393,0?1a0?3;2-3Q1c3^3U153{3}053 413$433)2~3+3I0Z1a0Z4c1J4e3S3l1$3V0(3p3|3Y403!423(454r473I0B1a0B4x3g4f3k3_4j4H4n3%443D4N3G3I0u1a0u4T4z4g4C4i4E3X3~3Z3#4#4q3F3,0G1a0G4.3?4V3T4;3`4?4G4^4I4`4p4M4}3I0O1a0O522/1T3e1I332?0r2m2{4h014$321Z1Q3d0V3f3Q4d3?054$5C2I0n0r153z2.3,3K4^5K5M4L4%5f3J2w2N0V5T4$464)5X2:3O4A3_0R1a0^0I5E2/0H5,5u0N0I1a2)1w110e0V0C5=5I4B360119040p635^560N1a0m3|0V0A0C1H4y5F4:66680q635@6o3n6f6h6j3A0n250V6b6u2a6q6s6c666e04390A0m3D260v6g266j6D4W5u680-0*631c6m5l3^5S015N3k3,3.4l0H6*5d5V4s3-5Y2E5#4|6^6/0:3O0H726t6W6d5|1G0A0!0`0x6H6E150(1a0w7d756p1a0=0T6#6V5J5L6+0v5O3I495R7s6?5%486`2O6|5e6^7x3;737455665.040I4E7j7M6v043D1B2C7c6%047L652y0(0E1a2~7S7%3V6w6T6k7q7.15686!7!6$3i6)7z7u6-4t3Y6=5U7B820H5Z7F6@4O0F4u5*7#7K736I2y7O0n5;7!7$4X1a7W2O0N7Z3g8p5u7g040w7i8o8j7/046S6i0C6z6B7?3_7_7p7!5,847v3H837 5$4(3,4Q886{7t8X5W4Q8f8h8,8x76042)1e7a0.8v5D7e018z0J8M5_1a0.0)0)2C0r8~56686a8Q8`6K6M6O0!6Q8H6U9a7k2y6Y8P7}4W8S810F4+7y8a869s7D5!8%6}8c9t7J8-8E157O3D0g6C9j7T6F1a7`4U8M9q2s4~8V9v8Y3I4 8#7E9A7G8c4 8+8-7K9G3`778=7b96668|9?7U91930N959M7@671a999o9N4i8r268t8^6n9k9O040-9n8_9p7 8T5h9u9%8b5(5h9#9z7A9Y0Fal9E729.7O2)0x6j0N7-8q8:788?aa2/7|5D0:5H5m5B5o5y1I0x5raU2_2;0.6B2:5p1O643_5}0v0I0.0R0V0v0Y7x1A1C1E1G0H9QaN1W0@1Z3_0.0r0#1r2Z0n1^0r2s1.0C1a1Ob1b3b52!0F170x2i040t2g7Yb7aE1V3R1P0;3t1Y0I2A0e790x0W0H2$600x0H0V0P610e0n60bJ0gbI1E000|0Ha-1p0H5A9}2)0H0g0(2~bF272 bZ120Hb4by0n610H11b^0nbR272~b66h0Jaybt6$a%0@0_0{0}3_0x1Gcb0L2w2V2C7f9|bd1d1f1C1k0Mcc0V0L2-cm1Mbu040ob-5K0W271E0n0H0mb?8u0H0+b^001G3d2ZbQbIb_1e1Z2scba{1T3R333_1)1+1-1/1;1?1^2c1}1 21a)5u2L2C2E1a2R0h0e0C18bI0D1=1@bs3i5A643=5laP7~5T5O0u5)6:848(3+dd3Kar9X4}dj2w5b4Kdh47do8faz5/3!aF5_5{aH5~0.608J2D8m9_ada3aha59/8G6x7=9 8N1a6r8D9b7:8I8K26dJ7^dUdz8/9d6Pa:9h62dS6X1a6Zagab7rdb6-dd6/3tdg9B3Gd|9ydmdi6_4_dre09s6_9+aydXdP7;0g0v3:dWac7f7hd)6JdY6j6l9RdS9T0Nea7Id~8We9dd49dlan7BeCdp4!atdn0F7I708gedel017O7Qd/8w9.6K0neo7(7*047,ekdN0N0i5|ba9La4a098d$3`e,042Me?e=d:8/d.eheje:dTaed?7{9Sajd{8d9WeF8Ydd4ueEeKe5ffdq4o85fdfaec8hdwe%8neWeee eie{7me?eYfy047oe)a08z8Be!8Fd.d!e/dMe;9Pd@6(aid`9Udd8*dfeA9(e18UfgfmeL8!fk4{f!eafXeO9,9-fvdQf0fC0=fA7+fCfEfueRfHfJa66L0(6Nd,6RdQfRa)evea9Deze4dt9xf%dsf#4+e7flgkgd22f:8i8`aA0_aDg2dOfwf14zeuf8fV0F9*fYggf#9!89fceL9!f+fhghgHeOaMd^1sgcddawgfgNe5aqgMgRf#aqgQf(g%gr5+f?eggyg1fFf3f`e}660#0n4afCdVf dNg~5ih1gyh50451g|9l1af~gCf2gY0F0lfbg*eahkgjeBhjeI4Jgohqhkdvgu901361aK7#eX77dDdF0vdHftfOf3dLgWaGe h7g_5uh94bhcadh23Q8.g}g 040sfCafhS56fH8Ch3fP04g{f2hTh$h(hWd%04hY3?h!2yh95jh`a1h|h8h$hbh?97hega8RgEewdj0shlg.gh0zihhpf-ighs5cijf#ilg:c;567O29hBgy6KhQh+9@7hh.hZ9.68h=hLh@h0i36GiEi0h$i2i97li5iR2ah9i8iMiafD6sgV5laO3C2:d5aS0mcw1A3B0)b?0L0 270gc|c~0 0n0F0^130A0~0)0Ab{0Hcbb|0L0F268}c35oc70|0gcZb05ub2b40Nb61^2~7Qck0)bfjqjsewbkbm0a0HjE0acYa(0c0H0y3D3tb-0C0W2W9}b.0~0.0AbZ2U250X2O0qbJ1s3!0I0_jag5bI9KjUj:3B1gi|cE0!0d2~bR0C0A2+br5@5HgA0H0wcFf@1I5HbF1rdHbI0^0A0P880(0#0~by0I0W2)8ujVjX060#0K2O0H0(0i0$0_c15Gi-gAk9i-880dccjU0H0Ab-d+9f271~b|jga~0:c5c!jobgjr2!6;5`8zbekZjzbijC2Pbwb%1n1pk13d2V2XcBj(2%2)k01rjI1R040Q3ljQ270r1r0ekMb-jW2kkRb{cWcDkbcP0Klelb0Hldb$kykA0xj%li9K0C3t60kQ0Hkp0m0(0/k{2r0Cb^3t7Q0Nk 0NkUcwk:b(1ok$k^2W0gk{c|k{kNlfb|cF5KcC1FcL1^j?0)0!0XcWjWbW6jbJbIcK2O1eb$2Cb.0C3B6jcVb^a`e b+k2kEk8i,0^04lPc45y1Xjn56jpbhk1juk)1Rjymm1rbj2Zbm0t1pb$lSk?1^lW2Y8LjhkY56c$1,1.1:d1c,1 2e202GeRc?5Zc_0Hc{c}0)c mNd35Di/3i8Qd9fT7t5O0Gdeg#hmm:dkg)isgG5Xgnf,aom{5Q4chy045:iBdB5}l/dE61fChNfSe*eqdRiVhdiXh/hPdQfMhRnl8 g4g6kQg87;h)a|53f7fUewm:d}6;fZm nDe3g$47nIm}m?ebaxh 8Fm%h~9.g^nq6de^e`iPa2f{ef8Iesi$iWh*ethhiem{eynFgJn;nJnOeDg-gpm:eN71gteRiCf@fxiYem8AgyiKe?h9h_niadhfnU8`8z0fiB1anTaLnAm.6-m:8egInK3Gosn_m`oxnNozfonQfreUole%g@e$e(nX6Je^lx1*fNhOd;69n%oniwn,nyoogDnBm{fXm=oC8!m_n}f$n|e9m:f/o08,frdIo6gzmboeh{iLoS8/eZn#i(o`h-oHfLbNmFo}i4oZ3Ro#oq9Um:gen?ovm{gmo,o:gio/f-piivf;o1nfn(ero5pboai3fBp3og5?nVeno`9cg59e9gg9f6pf6,phgGiio-gL8$nOgPeJoCgTo?fqn39JoRneh:pdi*gbn:m:g!pknOg(pYoCg,p#o-awgspvhEpy6kpAn+njo p-aGp2pBibp5pJoM7UiDqdh;n%qcq7oficdapgnChramnOhopopshroBo-hwoEn3aBgxpKngf^pQm*aP1V5nkWmhi:jm34mkk!jAk%jvbumrk#brmubl2Pl#k;lTk10.6OlakScWl l.jQ0Y2C2Yl0jh1Pl4lom3cPjW13cEj7kM17kSb@q+q=27lH2o1wq_q{k1j,kN5@1B042Vko8@8Ija61dH2)1IrocXmGmj66mJc(mMc+1sc-mQc:9.mUc^2QmXi~m!2Sm$6bm)aN3im,d_qsavm;p^m`0Om|qym r*dkprr-deeOfrn5pKn71Bn9dFncn%qjqoh{h}pHg=dZp9d#p3s3hDeekPpOnwp3f5n.hLgcr*nEd f-sloygpspqBe9spfpfrqG0CoWnRo~r pPqh2a8lhKoho2ngg@1a0kiHsJpxp86As8sF9Ha79KoHsdd-sEiIn3oGqIq4oJ7+sAq3s0p0iWpGpeqMi-aQa$qRqQi;c4jj0}04.

Les notes d'Alice - Saison 2⚓︎

bulletin

Les notes d'Alice - Saison 2

1. Alice veut créer la liste des notes qu’elle a obtenues ce trimestre en NSI.
Ces notes ne sont pas forcément des nombres entiers, et il y a des coefficients qui peuvent être différents pour chaque note.
Ecrire une fonction creation_liste_tuples qui prend en paramètres n le nombre de notes, demande de saisir les notes une par une, avec le coefficient associé à chaque note, et qui renvoie liste_notes, la liste des tuples (note, coefficient) .
Nous avons étudié les assertions. Dans cette fonction il doit y avoir une assertion qui vérifie que chaque note saisie est un réel entre 0 et 20 (compris), et une assertion qui vérifie que chaque coefficient saisi est un réel positif.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
def creation_liste_tuples(n):
    """
    n est un entier donnant la taille de la liste à saisir
    La fonction renvoie la liste des tuples (note, coefficient) .
    """
    liste_tuples = []
    for i in range(n):
        note = float(input("Saisir votre note : "))
        coef = float(input("Saisir le coefficient correspondant : "))
        assert note >= 0 and note <= 20, "la note est entre 0 et 20."
        assert coef >= 0, "le coefficient est positif"
        liste_tuples.append((note, coef))
    return liste_tuples

2. Ecrire un code qui demande la saisie des notes et coefficients, puis affiche la plus petite note, et la plus haute.

La fonction creation_liste_tuples n'est pas à écrire, vous pouvez l'utiliser, elle est en code caché.

💡 Indication : Vous pourrez utiliser les fonctions min et max.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
n = int(input("nombre de notes à saisir : "))
liste_tuples_notes = creation_liste_tuples(n) # de type liste
liste_notes = [elem[0] for elem in liste_tuples_notes]
note_mini = min(liste_notes)
note_maxi = max(liste_notes)
print("note minimale :  ", note_mini)
print("note maximale :  ", note_maxi)

3. Créer une fonction moyenne qui prend en paramètre lst_notes une liste de tuples (note, coefficient) et qui renvoie la moyenne arrondie à deux chiffres après la virgule, des notes de lst_notes.

Aide pour les arrondis

Exécuter ci-dessous :

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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 : 5/5

.128013cPw*-7 sSfbgn38k9+vei;(h4l,Lmdo0qp65_:2)=tay1/ur050E0u0Q0R0v0A0i0h0b0A0R0i0i0P010Q0v0I010406050i0V0D0D0R0W0S040j0F0A0V0;0F0n050U0{0}0 110_0I04051h1a1k0U1h0_0E0v0t0)0+0-0/0+0n0m0V0R0m0u0f0I0S0Q0y180h0y0v0m0y0A1M0y0Q0@050!0l0A0u1t0,0.011L1N1P1N0Q1V1X1T0Q0W1i1H0)140i0I0R0n0/0N011Z1v010k0$0u0n0R0D0u1T1^1`1 1#221X25270@0a0h0c0W0F0I0F0i0v170n0h0Y1?0W0W0u0b2s1a2a0n1i0U1H2F1/1;1:1U0E2c1w0v0n242p1T1q1s0*1!2P2R0n0F2V1T0I2y1i2D2F2,0`1_2t2X202#0W0~0A1T0R1K2y0k0/030L0L0b2$0u1P2!0F0f0T0T3a0@0h0T1a0R2-2:0^2/2b2=1#2@2_2{2}0u2 01313335372S3a3c1}040h0N3h3j1`3l2D2O013q0R2`1i2|0y2~3032340Y3A2#3C0f0o3e0o3I2C3k0_3M3o0/3P3R053T3V3w3X3z2Q3B3b0f0z3e0z3+1b3-3m2;1u3p0F2^3Q3s3U3u3W3y3Z3}3#3 0K3e0K442,3.2:3N3=4e3_3x3Y364k393 0J3e0J4q463/493;4b3r3S3t3v4y3|383$0g3e0g4H3K4s3n4K3O4M4d4O4f4Q3{4j4T3 0p3e0p4Y2E4!482Y4%4c3?3^4g3`4i4A4/3c0r3e0r4@3L4t3:4|4N3@4P4h4z3!4C3c0T0G0@5m594_4u4(4~5g515i4B3$3b5o3g0U3i3,4Z475s4}4w504R4.3~5l3E0T3H5D3J2E1l2*1a2V2I0E1;2N5c4z2U1r1i2)0u2+3k5F5V4z5/2b0v0E0/322D5z3s5_5{525j5~0h2g0u615x543d2F5E4J4{0q0@0Y0k5;3F5H5c0n0k0@0D0F0S242R6k6m4$0?040x6w6e2?0@0%0Q0L2#0Q0u0i6C5b6y0@0O0M6k0_453K5H60015|2:3$3E5f6Y4-535O0f1}6526676Z625y3 6%5T6x4{0d3e0h6 6N4#4{0i0E0@020H0V0F0Q0w77797b7d7a0w6T712t6)0L5}3 3(4O7m696,3(6/27684S7u1T6`6D1#746~6 6G6I7a6L0h6L0Q0h0V2R0h1P0i6K2u1Y0Q0V0I1X0(0x6J0u0B1?3u220b0v240Q0O7j6V5V3M7m7o3c417r5`6=7t4l7|1~667y5N82407B6d6O73753F6 0h0C2|0k182A0v1J2y0n0t0F7/7S2|6r6t0n7R0Y0(7(0(240h6K250n7O340D0I7V8A7+0k7-7/8I6M7@3l8V6X7 6!1`3$4n7~866+884n7w6;6*634m8a5@4`207F8f6 7g7f787h8|7i8V6U2.7_8Z7n6#4D5 96815k0f4E8-8)8:3c4E6c8`0h6{6E040i0F0}0u7J6K8U2,9n7D0/0F0@0P6k9z8c200D0v0@0G7?944t7`983c4V8(807z884V9g9V879d9T3I8g9G729p9r9t3y3u9x3k9*8@1#9C049E8V9?3N9J9L9N5:95617{0f4;9U8/6@3c4;9Za96aa79(8g9o1#6g048k0W9Faj0/6z6B8X9A3O0@7(7k3N6z0Bapav0n0@343uaz5c6z7=9|aq010F6}042QaD9H3p6F7U9v6LaJ6P046S92az9Q8#3 56a86?6a56ada:6,a.ah9)70aE0@9-27aZ9;3K9}5c9_9{9yaOaF9q9sb08CaU9+9^0@0sbf9@3;ax7Ka#4{9_0ebp9paH6j9|93a29P96a55m9a9haa3a5na?9c5z5n9la{aia}bb9.bvb22Eb44$b6bk4ua~bc9ubTbZb5bib)4$babv9Fby6Wa36=bC0TbE9!8*9d5AbJ9Wb}b_bNbPaVbm042y0{0A0!0Qb,bq9Dcd2?0l0@2m7Q0Ebt1#ascnc6a 9ubeauc5aP0@0UcqawbRb0b(cvbgar0@aCaNav9 045S9OcG01aLa1b=bAa49R3a6%2|7sc05z6.85b{9icY8=9)aOal2y7Y0W19cKcwbac80Vca0Rcca)8X0U5?5W5.5Y5+1a0Q5#d82L2G0R1Wd50U5Z6U0Y0!0$0i04.

4. Ecrire ci-dessous un seul script structuré qui rassemble toutes les questions :

  • Saisie de la liste des tuples
  • Affichage de la note minimale et de la note maximale
  • Affichage de la moyenne arrondie à deux chiffres après la virgule.

Les fonctions creation_liste_tuples et moyennene sont pas à écrire, vous pouvez les utiliser, elles sont en code caché.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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

Solution
n = int(input("nombre de notes à saisir : "))
liste_tuples_notes = creation_liste_tuples(n) # de type liste
liste_notes = [elem[0] for elem in liste_tuples_notes]
note_mini = min(liste_notes)
note_maxi = max(liste_notes)
print("note minimale :  ", note_mini)
print("note maximale :  ", note_maxi)
resultat_moyenne = moyenne(liste_tuples_notes)
print("La moyenne est : ", resultat_moyenne)

Soleil couchant⚓︎

Recherche de maxima relatifs - non guidé

Combien de bâtiments sont éclairés par le soleil couchant. Le sujet est original mais l'algorithme très classique.

Soleil couchant

Recherche d'indices⚓︎

Auteur : Sébastien HOARAU

Ecrire une fonction qui renvoie la liste croissante des indices d'un certain élément dans un tableau.

Il est recommandé d'utiliser une liste en compréhension.

Écrire une fonction indices qui prend en paramètres un entier element et un tableau entiers d'entiers. Cette fonction renvoie la liste croissante des indices de element dans le tableau entiers.

Cette liste sera donc vide [] si element n'apparait pas dans entiers.

On n'utilisera ni la méthode index, ni la méthode max.

Exemples
🐍 Console Python
>>> indices(3, [3, 2, 1, 3, 2, 1])
[0, 3]
>>> indices(4, [1, 2, 3])
[]
>>> indices(10, [2, 10, 3, 10, 4, 10, 5])
[1, 3, 5]
Compléter ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Shift+Esc ; 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 : 5/5

.128013cPw- sSf.bgn3kR];eivé(h4l,LmdoqVp6:_52)=tay1/[ur050D0s0P0Q0t0z0g0f0b0z0Q0g0g0O010P0t0H010406050g0V0C0C0Q0W0R040h0E0z0V0;0E0m0f020Q0C0H0r0f0p0s0~0W0F0V0s0g050T0{0}0 110_0H04051w1p1z0T1w0_0D0t0u0)0+0-0/0+0m0l0V0Q0l0s0e0H0R0P0x180f0x0t0l0x0z1#0x0P0@050!0k0z0s1I0,0.011!1$1(1$0P1.1:1,0P0W1x1W0)140g0H0Q0m0/0M011=1K010i0$0s0m1c0s1,27292e1@2h1:2k0C2m040a0f0c0W0E0H0E0g0t17190Y250W0W0s0b2H1p2o0m1x0T1W2T2123221-0D2q1L0t0m2j2E1,1F1H0*1?2%2)0m0E2-1,0H2M1x2R2T2}0`28192/2f2?0W0~0z1,0Q1Z2M0i0/030K0K0b2@0s1(2=0E0e0S0y3o0@0S1p0Q2~310^302p331@3537393b0s3d013f3h3j3l2*3o3q2c040M3u3w292T2`0s2T2-2W0D232#3B0/3i0Y2,1G1x3Y2|3x2Q3?3,3Z3z190t0D0/3g2R3P3r1x3a3}3 3L0Y3N2?420S2d2u0s473_4a3n3p433U3{2$010o0@0Y0i3@3W0f4o3*010m0i0@2(1F0b1n4v2S4y1J1@0?040w4I3=3A4L0/0m0@3k1i2j0P4Q4K2:014N0A4Q4x2R4p4V044Z0t0s0W1o1q3?4-4z4N0N0J4Q0_4_3W4o46014031423R05453~56483k2(3O4l2c0f4f4h3M5h4b5j1,0T3v0f5v4,314p4r042M0P0V0W0m4+4$2f4N0U4#4{4T4A4D5H5N4%5A0i0E0W5R5y4z4/0t5Y4S4%0E0d4D5G522S5x5(340k0@0W291R5M5Z5O4N4P5.4R325O0m5?042t5{5;4M0@5 2 5S344W0m0;4?4^6d5|4%4}0N5%625T4D4u605:6r6f4:6h4=4@686x6a045L605I3C5Q6I6e6F0q6q4p0E0@0O0O6Q5!4W1:2v6h6D4p4N6P60512 0T3_3X2{1p3#1p0P3%6?2Z2U0Q1/3`0T3#1v614p2M0C0K0i0Q0o0s0K0x0n0@1h1j1l1n0f4 6I1C3y1w0B3a0g14160t1Y2`2C2E0v1;0b0t0e0Y0-0V0(1n0P0f0+0f0u6j7u192M3i1s0m0D7z0j1A7n040G7O1Y0w0C0E2(0(0v0z0v0l290P0s0N0f0g290(7S2`0v0x2j2F1Y2J1(0g7=7j7Y1E1G4p1M1O1Q1S1U1W1Y1_1%1)1+724z2s2j2l0@2y0h0b0W0=7J0c1V1X5-2 3;3{3V4J6.545d57293o0L4m5c5n495p4k8O4d5l2l8R5g3m8N3r3G3I3K4i8T8$4d2T3v6J0/5A4t6W634C044E0t4G6k4`6m5J6b6$6X4:6Z4Z945}0@4*6v8;5P6z6i6C6M916F4~506$558L0m8$5a8Q5e8+8#0S8O5k5m9v5o9x9z2d0x3c3e3g9w5i9F8/045w6w4.0@2D2F2H8 4w9e6S046V9d6N0/5K6)2}6+902p9p0K419y0e7d440f9:9L5q8O7d8X2v8Z4j8$9 9H3H9J5fa39?9^3U9Q9e5U5W8^4%5#ai2f5*5,al3C655^1N0s996n939j694U6567ay6E9)ax6laz9f4;6jav92040N9m6*9o8K9;589?0y3F9{9D9M0eaXa04g9C8S9Ea$9G9I3J9Ka!9}a-9O9Qae9(4q6tap4U6g9h9X4Ja{5KaM6K8{b6aF049+3x9R4z9!6Ua~aJ976#aD6%0@7k9,aS479=8O0LaYaT9|8U0ebva(a28,9?bBa68)a;a+a#bva^a_bO9e4/9U2G7Pb28n5O9!7Xbm950Q0H0H2j0Db94(aG9.aE9f5$b!9aaO9nbm9:bt0e0IbwbDa,b}bCa*8!a#c1bHa8by8$b}bN5vaf5@0Z5E8CbdbQ9T2EbT18bV9-536-3j6/6~706;0Z0#0%04.

Auteurs des exercices: Nicolas Revéret, Jean-Louis Thirot, Sébastien Hoareau et Mireille Coilhac