Aller au contenu principal

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 de a et b.
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 ii le ii-ème élément de liste.
puiss(a)
# Résultat : [8, 25, -8, 1, 32]
Astuce

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 la liste.
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 entier n.
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 liste L (base 2) en base 8.
base2_8(base2(103))
# Résultat : [1, 4, 7]