Aller au contenu

7. Algorithmique et Python

Retour à la caisse à outils Passer l'auto-test

Variables et opérations

À savoir par cœur

  • Affectation : x = 3 range la valeur 3 dans la variable x. L'instruction x = x + 1 ajoute \(1\) à x.
  • Types : int (entier), float (décimal), str (texte), bool (True ou False), list (liste).
  • Opérations : +, -, *, / (division décimale), // (quotient entier), % (reste), ** (puissance).
7 / 2     # 3.5
7 // 2    # 3
7 % 2     # 1
2 ** 5    # 32

Conditions

À savoir par cœur

  • Comparaisons : == (égal), != (différent), <, <=, >, >=.
  • Connecteurs : and, or, not.
  • Le bloc indenté après if, elif ou else n'est exécuté que si la condition est vraie.
if x > 0:
    print("positif")
elif x == 0:
    print("nul")
else:
    print("négatif")

Boucles

À savoir par cœur

  • for i in range(n) : i prend les valeurs \(0, 1, \dots, n-1\). Le nombre n est exclu.
  • for i in range(a, b) : i va de \(a\) à \(b-1\).
  • while condition : on répète tant que la condition est vraie. Il faut que la condition finisse par devenir fausse.
s = 0
for k in range(1, 5):
    s = s + k
print(s)    # 1 + 2 + 3 + 4 = 10

Fonctions

À savoir par cœur

  • On définit avec def, on renvoie avec return.
  • print affiche un résultat, return le renvoie pour pouvoir le réutiliser.
def somme(n):
    s = 0
    for k in range(1, n + 1):
        s = s + k
    return s

Listes

À savoir par cœur

  • L = [4, 8, 15] ; le premier élément est L[0] (les indices commencent à \(0\)).
  • len(L) donne le nombre d'éléments ; L.append(x) ajoute x à la fin.
  • Parcours : for x in L:.

Exemples

Table de valeurs d'une fonction

def f(x):
    return 2 * x ** 2 - 3

for x in range(-2, 3):
    print(x, f(x))

Le programme affiche les couples \((x\,;f(x))\) : \((-2\,;5)\), \((-1\,;-1)\), \((0\,;-3)\), \((1\,;-1)\) et \((2\,;5)\).

Maximum d'une liste

def maximum(L):
    m = L[0]
    for x in L:
        if x > m:
            m = x
    return m

maximum([4, 8, 15, 2]) renvoie 15.

Boucle while : un seuil

On cherche le plus petit entier \(n\) tel que \(n^2>200\).

def seuil():
    n = 0
    while n ** 2 <= 200:
        n = n + 1
    return n

La fonction seuil() renvoie 15, car \(14^2=196\leq 200\) et \(15^2=225>200\).

Pièges

Attention

  • = affecte une valeur, == compare deux valeurs.
  • L'indentation fait partie de la syntaxe : un décalage change le sens du programme.
  • range(n) s'arrête à n - 1.
  • / donne un décimal, // donne le quotient entier.
  • Une fonction qui doit fournir un résultat utilise return, pas seulement print.

Passer l'auto-test