Le python landais

Exercice du chapitre IX] : les listes.

serpent




Exercice 1 : découverte des listes.
Copier-coller dans la console les 3 listes suivantes :
jours = ["lundi", "mardi", "mercredi", "jeudi", "vendredi"]
chiffres = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
composite = [0, "chocolat", 145, "Python", "Landais", 12.1, True]
Deviner ce que donneront les instructions suivantes, et vérifier en les saisissant dans la console :
print(chiffres)
print(composite)
print(jours[0])
print(jours[1])
print(jours[4])
print(composite[2])
print(chiffres[3]+composite[2])
print(chiffres[9]*composite[0])
print(jours[0] + jours[2])

if composite[6] :
    print(composite[3] + " " + composite[4])

if not composite[6] :
    print("Pas la peine de réfléchir plus longtemps !")




Exercice 2 : modification d'éléments de la liste.
Saisir dans la console la liste :
ma_liste = [1, 2, 3, 4]
La modifier de façon à obtenir :
>>> print(ma_liste)
[279, 2, 3, 'Je suis devenu un texte']




Exercice 3 : boucler sur une liste.
Copier-coller dans une console Python la liste suivante :
plus = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]
Utiliser une boucle for pour modifier cette liste de telle sorte que :
>>> print(plus)
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147]
La modifier à nouveau de telle sorte que :
>>> print(plus)
[-100, -101, -102, -103, -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -114, -115, -116, -117, -118, -119, -120, -121, -122, -123, -124, -125, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147]




Exercice 4 : maximum d'une liste.
Ecrire un programme qui détermine le plus grand nombre contenu dans une liste d'entiers.
Ainsi par exemple, si le programme commence par liste = [21, 47, -12, 74, 5, 28, 33], il devra afficher au final :
Le plus grand élément est : 74
Indication :
on pourra créer une variable "max", qui prendra au départ la valeur du premier élément de la liste.
Puis on peut parcourrir la liste, et modifier max si besoin.




Exercice 5 : création de listes.
a. Ecrire un programme pour créer la liste des nombres impairs de 1 à 101.
b. Ecrire un programme pour créer la liste des nombres [7, 57, 107, 157, ... , 657].
c. Ecrire un programme pour créer la liste des 20 premiers termes d'une suite géométrique, de raison 3, et de premier terme 5.




Exercice 6 : le tirage du loto.
Ecrire un programme pour réaliser un tirage au sort virtuel du loto : votre programme devra renvoyer une liste de 6 numéros :
Rappel :
from random import randint
...
nombre_au_hasard = randint(... , ...)




Exercice 7 : le redoutable !

a. Rappel sur les chaînes de caractères :

On accède aux caractères d'une chaîne de caractères avec la même notation que pour les éléments d'une liste :
>>> mot = "Bonjour"
>>> print(mot[0])
B
>>> print(mot[2])
n


b. Ecrire un programme qui :



c. J'y arrive pas !

Comme annoncé dans le titre, cet exercice est redoutable ... mais salvateur !
En effet, il va nous permettre d'identifier un piège infernal, qui nous attend, caché dans les projets :

le piège de la suppression d'éléments dans une liste sur laquelle nous bouclons !


d. Mais alors, comment faire ?

Une boucle for est donc exclue lorsque allons supprimer des éléments dans la liste sur laquelle nous bouclons. Il faut avoir recours à une boucle while, munie d'un compteur créé et géré par nos soins :
compteur = 0
while compteur < ... :
    ...
    ...
    ...
    compterur = compteur + 1
Mais attention, même comme cela, le redoutable reste redoutable :



Exercice 8 : déplacements aléatoires de plusieurs balles.

Objectif :



1. Créer une fenêtre tKinter, munie d'un canevas 700x500.

2. Créer 3 listes vides : "posx", "posy" et "liste" : elles stockeront respectivement les abscisses des balles, les ordonnées des balles et les items oval.

3. Remplir ces trois listes à l'aide d'une boucle : afin d'obtenir nos 14 balles de diamètres 50, dans la position initiale que nous observons dans la vidéo.

4. Créer une fonction d'animation anim qui :
5. La touche finale : créer un bouton "Go !" afin de pouvoir lancer l'animation au moment de notre choix.