Mise en route Python
Installation
Pour commencer à programmer en Python, assurez-vous d'avoir installé Python sur votre machine. Vous pouvez télécharger la dernière version depuis python.org.
1. Syntaxe de base
1.1 Manipulation des listes
Les listes sont des structures de données fondamentales en Python. Elles permettent de stocker plusieurs éléments dans un ordre donné.
1.1.1 Création de listes
Voici comment créer et manipuler des listes en Python :
x = [4,3,2,1]
y = [2,4,6,8]
print(x, y)
La variable x est gardée en mémoire comme telle tant qu'elle n'aura pas été modifiée.
1.1.2 Concaténation de listes
Vous pouvez combiner des listes en utilisant l'opérateur + :
z = x + [7,8]
print(z)
print([12] + x + [9] + y)
print([3]*4)
1.1.3 Extraction d'éléments
Utilisez les crochets [] pour accéder aux éléments d'une liste :
print(y[0]) # Premier élément
print(y[2]) # Troisième élément
print(y[0:3]) # Sous-liste des trois premiers éléments
1.1.4 Copie de listes
Pour copier une liste sans modifier l'originale, utilisez la méthode .copy() :
x = [4, 3, 2, 1]
w = x.copy()
w[2] = 88
print(x) # [4, 3, 2, 1]
print(w) # [4, 3, 88, 1]
1.1.5 Séquences
Au lieu de créer une liste manuellement, vous pouvez utiliser la fonction range() pour générer des séquences d'entiers. Par exemple, pour créer une liste de 0 à 3 :
list(range(0, 4))
# Résultat : [0, 1, 2, 3]
# les commandes suivantes renvoient la même liste
[0,1,2,3]
list(range(0,4))
list(range(4))
# si on souhaite créer une séquence avec un pas différent de 1 :
list(range(12,2,-1))
list(range(1,9,2))
1.2 Fonctions
Les fonctions permettent de regrouper des instructions pour les réutiliser facilement.
Les fonctions en Python ont toutes la même syntaxe : nomfonction(variables).
Exemples : que font les fonctions suivantes ?
len(y)
sum(y)
del(y[2])
1.2.1 Création de fonctions
Voici comment définir une fonction en Python :
def nom_de_ma_fonction(param1, param2):
# Instructions
return resultat
Exemple :
- Copier-coller la fonction suivante
pm(a,b), qui retourne l'addition et la soustraction deaetb.
def pm(a, b):
plus = a + b
moins = a - b
return (plus, moins)
print(pm(12, 7)) # Résultat : (19, 5)
1.3 Structures de contrôle
Les structures de contrôle permettent de diriger le flux d'exécution du programme.
1.3.1 Conditionnelles
Utilisez if, elif, et else pour exécuter du code en fonction de conditions :
if condition:
# Instructions si vrai
else:
# Instructions si faux
Ou avec le elif :
if condition1:
# Instructions si vrai
elif condition2:
# Instructions si vrai
else:
# Instructions si faux
1.3.2 Boucles
Boucle for : pour itérer sur une séquence ou une liste.
for element in liste:
instructions
On peut utiliser la syntaxe for i in range(début, fin) pour parcourir des indices entiers.
Boucle while : pour répéter tant qu'une condition est vraie.
while condition:
instructions
2. Applications pratiques
2.1 Exercices sur les listes
- Construire une fonction
nulpos(liste)qui met à 0 les éléments positifs d'une liste numérique.
a = [8, 5, -2, 1, 2]
nulpos(a)
# Résultat : [0, 0, -2, 0, 0]
- Construire une fonction
puiss(liste)qui met à la puissance le -ème élément deliste.
puiss(a)
# Résultat : [8, 25, -8, 1, 32]
Il est possible d'utiliser enumerate() pour obtenir l'indice et la valeur d'un élément dans une liste.
for i, e in enumerate(liste):
print(i, e)
- Construire une fonction
nbre_pairs(liste)qui compte le nombre d'entiers pairs dans laliste.
nbre_pairs(a)
# Résultat : 3
- Construire une fonction
minval(liste)qui retourne la plus petite valeur et son indice.
minval(a)
# Résultat : (-2, 2)
2.2 Algorithme d'Euclide
- Construire une fonction
algoeucli(a, b)qui calcule le pgcd de deux entiers non nuls.
algoeucli(237, 18)
# Résultat : 3
3. Base 2
3.1 Exercice : écriture en base 2
- Construire une fonction
base2(n)pour obtenir l'écriture en base 2 d’un entiern.
base2(103)
# Résultat : [1, 1, 0, 0, 1, 1, 1]
3.2 Bonus : écriture en base 8
- Construire une fonction
base8(n)basée sur le modèle précédent.
base8(103)
# Résultat : [1, 4, 7]
- Construire une fonction
base2_8(L)qui convertit une listeL(base 2) en base 8.
base2_8(base2(103))
# Résultat : [1, 4, 7]