Initial commit

This commit is contained in:
2025-07-04 19:26:39 +02:00
commit c8682d4801
248 changed files with 12519 additions and 0 deletions

View File

@ -0,0 +1,32 @@
= Exercices sur la fonction `print()`
== Exercice 1
Affichez dans la console le texte suivant :
- La rue Rostand,
- `3 espaces` se trouve au
- Feu à droite
== Exercice 2
La fonction `print()` accepte plusieurs arguments, dont les valeurs sont affichées sur la même ligne, et par défaut séparés par un espace.
*La syntaxe est la suivante* : `print("a", "b", "c", 19)`
Affichez, en imitant cette syntaxe, le texte suivant :
* Hauts les cœurs !
(sous Linux, le e dans l'o s'obtient avec la combinaison de touches `Alt Gr + O`. Sous Windows, `Alt + 339` devrait donner le même résultat)
== Exercice A1
La fonction `print()` accepte des arguments avec des noms spécifiques, dont `sep` et `end`. `sep` permet de désigner quelle chaîne sépare les arguments à afficher, et `end` permet de préciser par quelle chaîne terminer le `print`.
Par défaut, `sep=" "` et `end="\n"`. La fonction s'utiliserait ainsi :
```python
# Ne sépare pas les éléments via un espace et passe deux fois
# à la ligne à la fin du print.
print("1", "2", "3", sep="", end="\n\n")
```

View File

@ -0,0 +1,70 @@
= Variables
---
== Exercice 1
- Déclarez trois variables, avec des noms corrects, contenant :
* Le nom d'une personne, ex. "Paul"
* La température courante en °C, ex. 25.3
* L'âge d'une personne, ex. 30
- Affichez dans la console les valeurs de ces trois variables.
---
== Exercice 2
- Demandez à l'utilisateur de saisir du texte, et mettez-le dans une variable
- Affichez le contenu de la variable.
*Fonctions nécessaires* : `variable = input("Texte d'invite:")`, `print()`
---
== Exercice 3 : Expressions
- Déclarez plusieurs variables, contenant le résultats de :
* Une opération arithmétique entre nombres
* Une comparaison entre nombres
* Une opération d'addition entre deux chaînes
* L'expression `(59 * 62 + 13) / 6.5`
- Affichez leur contenu dans la console.
---
== Exercice A1 : Conversion en ordres de grandeur
- Déclarez une variable contenant une distance en mètres (au moins 1001, ex 4210)
- Affichez le nombre de kilomètres dans cette valeur (nombre entier, ex. 4)
- Afficher le nombre de mètres restants dans cette valeur (ex. 210)
*Outils nécessaires* : opérateurs `//` (division entière), `%` (modulo)
Vous pouvez afficher tout cela sur une ligne avec un seul appel à la fonction `print()`, par exemple :
```python
kilometers = 5
meters = 450
print(kilometers, "kilomètres et", meters, "mètres.")
```
---
== Exercice A2 : Deux ordres de grandeur
- Déclarez une variable contenant une masse en grammes (au moins 1 000 000)
- Affichez le nombre de tonnes, de kilogrammes et de grammes dans cette masse.
Vous devrez utiliser les mêmes outils que dans l'exercice précédent, mais il
y a deux ordres de grandeur à prendre en compte !
---
== Exercice A3 : Saisie de nombres
- Demandez à l'utilisateur de saisir deux nombres (en deux fois).
- Indiquez quel est le nombre le plus grand qui a été saisi.
Sachant que la saisie récupérée est toujours une chaîne de caractères vous devez récupérer une version de la saisie qui est un nombre pour pouvoir faire des comparaisons intéressantes.
*Rappel* : pour récupérer un entier depuis une chaîne, utilisez `int(valeur)`

View File

@ -0,0 +1,72 @@
= Conditions
---
== Exercice 1 : `if` seul
- Déclarez une variable avec une valeur entière entre 1 et 6 (lancer de dé).
- Affichez `"Lancer réussi !"` si la valeur est supérieure strictement à 4
- Retestez votre code en changeant la valeur du lancer
---
== Exercice 2 : `if` seul, comparer du texte
- Déclarez une variable avec le texte `"Bonjour"`;
- Affichez `"Bien le bonjour"` si votre variable est égale à `"bonjouR"`.
(Les majuscules ne sont pas placées ici par hasard, conservez-les)
---
== Exercice 2B : `if…else`
- Assignez à une variable le texte `"Bonjour"`;
- Affichez `"Bien le bonjour"` si votre variable est égale à `"Bonjour"`;
- Sinon, (dans tous les autres cas) afficher `"Je ne comprends pas !"`.
---
== Exercice 3 : `if…elif…else`
- Assignez à une variable un entier arbitraire entre 0 et 10 inclus;
- Si cette valeur est d'au moins 9, afficher `"Élevé"`;
- Sinon, si cette valeur est d'au moins 7, afficher `"Haut"`;
- Sinon, si cette valeur est d'au moins 4, afficher `"Standard"`;
- Sinon, afficher `"Bas"`.
---
== Exercice A1 : Multiples conditions
- Assignez à deux variables `a1` et `a2` des nombres entiers entre 0 et 10
- Si `a1` est supérieur à 5 *et* `a2` est inférieur à 6, afficher `"OK"`
- Sinon, afficher `"Valeurs incorrectes"`
---
== Exercice A2 (conditions avec `and` et `or`)
- Assignez à deux variables `a1` *et* `a2` des nombres entre 0 et 10
- Si `a1` est supérieur à 5 *ou* `a2` est inférieur à 6, afficher `"Conditions suffisantes"`
- Sinon, afficher `"Valeurs incorrectes"`
---
== Exercice A3
- Déclarez une variable de statut `is_on` contenant un booléen (`True` ou `False`)
- Demandez à l'utilisateur de *saisir un texte*, et assignez-le à une variable `saisie`
- Si `saisie` vaut "Marche" :
* Si `is_on` est `False`, alors afficher "Allumage en cours..."
* Sinon, afficher "Déjà allumé !"
- Sinon, si `saisie` vaut "Arrêt" :
* Si `is_on` est `True`, afficher "Extinction..."
* Sinon, afficher "Déjà éteint !"
Exemple de rappel :
```python
# Demander de saisir un texte et récupérer le résultat dans une variable
saisie = input("Saisissez du texte :")
```

View File

@ -0,0 +1,6 @@
= Exercices sur les blocs vides
== Exercice 1
- Écrivez un bloc `if` dont le code, lorsqu'il est exécuté, ne fait rien.
- *Outils* : `pass`

View File

@ -0,0 +1,17 @@
= Exercices sur les boucles `for`
== Exercice 1
- Écrivez une boucle `for` sur les nombres de 0 à 9.
- Affichez la valeur du nombre parcouru.
== Exercice 2
- Écrivez une boucle `for` sur les nombres de 0 à 9.
- Affichez la valeur du nombre s'il est pair (`nombre % 2 == 0`)
== Exercice A1
- Écrivez une boucle `for` sur les nombres de 0 à 9 (variable nommée `item1`).
- Dans cette boucle, écrivez une autre boucle sur les nombres de 0 à `item1` (variable `item2`)
- Dans cette sous-boucle, affichez sur la même ligne `item1` et `item2`.

View File

@ -0,0 +1,22 @@
= Exercices sur les boucles `while`
== Exercice 1
- Déclarer une variable `number` égale à 10
- Écrivez une boucle `while` tournant tant que `number` est supérieur ou égal à 0.
- Dans la boucle, afficher `number`, et retirer `1` à `number`.
== Exercice 2
- Écrire une boucle `while` qui tourne indéfiniment (condition `True`, ou soyez créatif)
== Exercice 3
- Écrire une boucle `while` qui ne se lance jamais (condition `False`, ou soyez créatif)
- (il suffit que la condition soit fausse dès le départ)
== Exercice A1 : Fibonacci
- Écrire du code, affichant dans la console, les éléments successifs de la suite de Fibonacci jusqu'à 10 000 :
* Utiliser deux variables, `left` and `right` qui vont, au départ, contenir les deux premiers éléments de la suite.
* Dans la boucle, modifier `left` and `right` pour ne garder que les deux derniers éléments de la suite.

View File

@ -0,0 +1,60 @@
= Exercices sur les listes
== Exercice 1
- Écrivez une liste contenant les nombres entiers pairs de 0 à 10 inclus
- Assignez la longueur de la liste à une variable (`len()`)
- Affichez le dernier élément de la liste (en utilisant la longueur)
- Ajoutez un élément à la fin de la liste
- Affichez le nouveau contenu de la liste
== Exercice 2
- Écrivez une liste contenant les nombres 1, 2, 4, 8, 16, 32, 64
- Supprimez de la liste le nombre 8
- Ajoutez à la fin de la liste le nombre 128
- Affichez le contenu de la liste dans la console.
== Exercice 3 (indices négatifs)
- Écrivez une liste contenant 3 éléments
- Affichez le *dernier* élément en utilisant un indice négatif
- Affichez le *premier* élément en utilisant un indice négatif
== Pré-Exercice 4 (slicing)
[source,python]
----
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = a[0:5] # Index 0 à 5 non inclus. Marche aussi sur les chaînes.
c = a[5:0] # L'index de fin est inférieur au départ, renvoie une liste vide
f = a[:] # Renvoie toute la liste
d = a[::-1] # Tout parcourir à l'envers
e = a[::2] # Tout parcourir 2 par 2
----
== Exercice 4 (slicing)
- Écrivez une liste de 6 nombres
- Affichez la liste comprenant les 3 premiers éléments
- Affichez la liste comprenant tout sauf le premier élément
== Exercice 5 (slicing avancé)
- Réutilisez la liste de l'exercice 4
- Affichez toute la liste, mais à l'envers
- Affichez une liste comprenant les éléments aux indices pairs
== Exercice A1
- Écrivez une liste contenant les nombres multiples de 3 de 0 à 15.
- Faites une boucle `for` sur cette liste,
* et affichez uniquement les nombres pairs de cette liste (`valeur % 2 == 0`)
== Exercice A2
- Consultez la https://docs.python.org/3/tutorial/datastructures.html#more-on-lists[référence des fonctions de listes]
- Déclarez une liste de nombres flottants
- Utilisez la méthode qui sert à renvoyer le dernier élément et le supprimer de la liste
- Affichez cet élément, puis la liste

View File

@ -0,0 +1,42 @@
= Exercices sur les ensembles
== Exercice 1
- Écrivez un `set` contenant 5 valeurs
- Déclarez un second `set` contenant au moins 2 valeurs du premier set
- Essayez d'ajouter une valeur déjà existante à un set
- Affichez les valeurs communes aux deux sets (`intersection()`)
- Affichez un set contenant toutes les valeurs des 2 sets (`union()`)
== Exercice 2 (conversion)
- Écrivez une *liste* contenant des valeurs en doublons
- Affichez le contenu de la liste
- Assignez à une variable la conversion de la liste en set (`set(x)`)
- Affichez la valeur du set obtenu
== Exercice 3
Al et Kim sont inscrits sur un réseau social. Al a les amis suivants :
- Josephine
- Meghan
- Amy
- Bob
Kim a les amis suivants :
- Frank
- Amy
- Josephine
- Susan
Quels sont leurs amis en commun ? Écrivez un code qui représente et résout cet énoncé.
== Exercice 4
Partant du tuple suivant :
`(1, 4, 6, 9, 1, 3, 6, 12, 2, 5, 7, 10, 3, 5, 2, 6, 4, 6, 1, 8, 5, 2, 3, 6)`
- Affichez le nombre de valeurs différentes présentes dans le tuple.

View File

@ -0,0 +1,40 @@
= Exercices sur les dictionnaires
== Exercice 1
- Écrivez un simple dictionnaire associant des noms à des âges :
* Paul → 30
* Karim → 22
* Gina → 41
* Anna → 25
- Affichez l'âge de Gina
- Ajoutez les associations suivantes :
* Alina → 33
* Victor → 55
- Affichez le contenu du dictionnaire
== Exercice 2 (parcours)
- Réutilisez votre dictionnaire
- Utilisez une boucle `for` normale pour :
* Afficher les clés du dictionnaire
* Afficher la valeur associée à chaque clé
== Exercice 3 (parcours + `.items()`)
- Réutilisez votre dictionnaire
- Utilisez une boucle `for` sur `.items()` avec deux variables :
* Affichez clé et valeur associée
== Exercice A1 (compréhension)
- Déclarez un dictionnaire de conditions météo (°C, condition, pression)
* `meteo = {"Pau": (21.0, "Nuageux", 1015), "Gap": (20.3, "Dégagé", 1019), "Osny": (19.1, "Brouillard", 1015)}`
- À l'aide d'une compréhension de dictionnaire, récupérer un dictionnaire :
* Dont les clés sont les mêmes noms de villes
* Dont les valeurs sont uniquement la température associée
== Exercice A2 (compréhensions)
- Déclarez une liste via une compréhension, qui contient les nombres pairs de 0 à 98, sauf ceux divisibles par 5. (comprendre, uniquement ceux non divisibles par 5).
- Déclarez une liste de mots manuellement. Puis déclarez un générateur (compréhension de tuple) qui contient uniquement les mots de plus de 4 lettres. (`len()`).

View File

@ -0,0 +1,48 @@
= Exercices sur les manipulations de chaînes
== Exercice 1
- Consultez https://docs.python.org/3/library/stdtypes.html#string-methods[les méthodes disponibles sur les chaînes]
- Déclarez une chaîne de caractères avec plusieurs mots
- Affichez la version tout en majuscules (`upper`)
- Affichez la version tout en minuscules (`lower`)
- Découpez la autour des espaces (`split`)
== Exercice 2 (joindre les deux bouts)
- Partant de cette liste de mots :
[source,python]
----
word_list = ("mon", "vieux", "tonton", "m'a", "jeté", "sur", "une", "nouvelle", "planète")
----
Utiliser la méthode `join()` sur une chaîne de séparation pour reconstituer la phrase entière.
(N'utilisez pas de boucle `for`).
== Exercice 3 (slicing)
- Déclarez une chaîne de caractères quelconque
- En utilisant le _slicing_, affichez-la à l'envers
- De la même façon, affichez uniquement les 5 premiers caractères
- Affichez le texte, mais uniquement un caractère sur deux
== Exercice 4 (f-strings)
- Déclarez plusieurs variables :
* `number = 14`
* `base_list = [1, 2, 3]`
- Affichez une *f-string* incluant le contenu de `number` et `base_list` :
* Il est *14* heures. La liste est *[1, 2, 3]*.
== Exercice A1 (`join` + conversion)
Partant de cette liste :
[source, python]
----
items = ["Hello, it's", True, "that", 40, "people have", None]
----
- Confectionner une phrase avec `" ".join()`.
- La fonction `join` nécessitant une liste de chaînes pour fonctionner, utilisez une compréhension de liste pour convertir cette liste en liste de chaînes (utilisez `str(x)`).