On considère un tableaunon 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*xforxintableau]
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
defcreation_liste(n):""" n est un entier donnant la taille de la liste à saisir La fonction renvoie la liste saisie """liste_notes=[]foriinrange(n):note=float(input("saisir votre note : "))liste_notes.append(note)returnliste_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 listenote_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
defmoyenne(lst):""" Cette fonction renvoie la moyenne de la liste lst """somme=0#initialisation de la somme des notesfornoteinlst:# calcul de la somme des notes avec une bouclesomme=somme+notemoyenne=somme/len(lst)# len(liste) est le nombre de notesreturnmoyennen=int(input("nombre de notes à saisir : "))notes=creation_liste(n)print(notes)moyenne_notes=moyenne(notes)print(moyenne_notes)
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.
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.
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
defcreation_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=[]foriinrange(n):note=float(input("Saisir votre note : "))coef=float(input("Saisir le coefficient correspondant : "))assertnote>=0andnote<=20,"la note est entre 0 et 20."assertcoef>=0,"le coefficient est positif"liste_tuples.append((note,coef))returnliste_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 listeliste_notes=[elem[0]foreleminliste_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
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 listeliste_notes=[elem[0]foreleminliste_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)
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.
# Tests
(insensible à la casse)(Ctrl+I)
(Shift+Esc ; Ctrl pour inverser les colonnes)
(Esc)