Algorithmique et programmation Python
Variables, fonctions, conditions et boucles en Python — programme de Seconde.
Partie 1 — Apprendre les bases de Python
Variables et affectation
Une variable stocke une valeur en memoire. L’affectation se fait avec le signe =.
a = 4
b = 7
c = a + b**5
print(c)
Python affiche en sortie : 16811. En effet, .
Operations de base
| Operation | Python | Exemple |
|---|---|---|
| Addition | a + b | 3 + 4 donne 7 |
| Soustraction | a - b | 10 - 3 donne 7 |
| Multiplication | a * b | 3 * 4 donne 12 |
| Puissance | a**n | 2**5 donne 32 |
| Division | a / b | 7 / 2 donne 3.5 |
| Quotient entier | a // b | 7 // 2 donne 3 |
| Reste (modulo) | a % b | 7 % 2 donne 1 |
Exemple —
a = 3,b = 4,c = a**3 + b. Alors .
Types de variables
| Type | Python | Exemple |
|---|---|---|
| Entier | int | x = 5 |
| Decimal | float | x = 3.14 |
| Chaine de caracteres | str | x = 'bonjour' |
| Booleen | bool | x = True |
Astuce — La fonction
type(x)permet de connaitre le type d’une variable.
Afficher et saisir
print(x): affiche la valeur dexdans la console.input("Message"): demande une saisie a l’utilisateur (renvoie toujours une chainestr).
x = 10
y = 20
z = x * y
z = z + x
print(z)
Python affiche : 210. En effet, , puis .
Partie 2 — Utiliser les fonctions
Une fonction recoit des parametres en entree et renvoie un resultat avec return.
from math import *
def aire(rayon):
A = pi * rayon**2
return(A)
En executant aire(12), Python affiche : 452.389… car .
Importer des fonctions mathematiques
from math import * donne acces a pi, sqrt (racine carree), cos, sin, etc.
from math import *
a = 5
b = 9
c = a**2 + b**2
c = sqrt(c)
print(c)
Ce programme calcule l’hypotenuse d’un triangle rectangle de cotes 5 et 9 : .
Fonctions simples
def f(x):
return(x**2 + 2)
En saisissant f(5), on obtient .
def fonction(a):
reponse = a / 3
return(reponse)
fonction(12)donnefonction(33)donne
Exemple — Calculer le volume d’un cylindre :
from math import * hauteur = 5 rayon = 4 base = pi * rayon**2 volume = base * hauteur print(volume)Resultat : .
Partie 3 — L’instruction conditionnelle (Si… alors…)
if / else
from random import *
def jeu():
de = randint(1, 6)
if de > 4:
a = 'gagne'
else:
a = 'perdu'
return(de, a)
randint(1, 6): nombre aleatoire entier de 1 a 6.if condition:s’execute si la condition est vraie.else:s’execute sinon.
Avec elif (sinon si)
def note(x):
if 15 < x <= 20:
remarque = 'super'
elif 10 <= x <= 15:
remarque = 'ca va'
else:
remarque = 'ouaip'
return(remarque)
note(16)donne'super'(car )note(15)donne'ca va'(car )note(9)donne'ouaip'
Operateurs de comparaison
| Operateur | Signification |
|---|---|
== | egal a |
!= | different de |
< | strictement inferieur |
> | strictement superieur |
<= | inferieur ou egal |
>= | superieur ou egal |
Exemple — Tester la divisibilite :
def div(n): if n % 3 == 0: N = n / 3 else: N = 0 return(N)
div(24)donne .div(41)donne (car 41 n’est pas divisible par 3).
Partie 4 — Utiliser les boucles
La boucle “Pour” (for)
La boucle for repete des instructions un nombre determine de fois.
def som():
s = 0
for k in range(1, 6):
s = s + k
return(s)
range(1, 6) signifie que prend les valeurs 1, 2, 3, 4, 5 (debut inclus, fin exclue).
| 1 | 2 | 3 | 4 | 5 | ||
|---|---|---|---|---|---|---|
| 0 | 1 | 3 | 6 | 10 | 15 |
Python affiche : 15. En effet, .
Exemple — Afficher les entiers de 1 a 4 :
for k in range(1, 5): print(k)Affiche : 1, 2, 3, 4.
Exemple — Calculer pour de 1 a 3 :
for k in range(1, 4): p = 2 * k print(p)Affiche : 2, 4, 6.
Concatenation de chaines dans une boucle
def com():
c = 'on est au '
for k in range(3):
c = c + 'top '
return(c)
com() renvoie 'on est au top top top '. La boucle for k in range(3) s’execute 3 fois ( va de 0 a 2).
Le produit des entiers
def prod():
p = 1
for k in range(1, 10):
p = p * k
return(p)
Ce programme calcule .
Attention : il faut initialiser p = 1 (pas p = 0, sinon le produit reste toujours a 0 !).
La boucle “Tant que” (while)
La boucle while s’execute tant que la condition est vraie.
n = 0
while n < 10:
print(n)
n = n + 1
Affiche les entiers de 0 a 9. La boucle s’arrete quand (la condition devient fausse).
Recherche de seuil
def som():
s = 0
k = 1
while s < 10000:
s = s + k
k = k + 1
return(k - 1)
Ce programme cherche a partir de quel entier la somme depasse . Resultat : 141.
Exemple — Trouver la plus petite valeur de telle que :
def seuil(): n = 1 while 2**n <= 1000: n = n + 1 return(n)
seuil()renvoie 10, car .
Algorithme en langage naturel
Un algorithme peut etre ecrit en langage naturel avant d’etre traduit en Python.
Exemple — Suite de Fibonacci :
Affecter a n la valeur 0 Affecter a A la valeur 1 Affecter a B la valeur 1 Tant que n < 6 Affecter a n la valeur de n + 1 Affecter a C la valeur de B Affecter a B la valeur de A + B Affecter a A la valeur de C Afficher B Fin Tant queTraduction en Python :
n = 0 A = 1 B = 1 while n < 6: n = n + 1 C = B B = A + B A = C print(B)
0 1 2 3 4 5 6 1 1 2 3 5 8 13 1 2 3 5 8 13 21 1 1 2 3 5 8
Quiz — Algorithmique et programmation Python
10 questions · correction immédiate · sans inscription