Variables, types et affectations
Cours complet · sciences numériques et technologie (seconde), chapitre 2 · seconde générale, SNT
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
Un programme manipule des données (nombres, texte…) qu'il range dans des variables. Une variable est une zone de la mémoire de l'ordinateur, désignée par un nom, dans laquelle on stocke une valeur que l'on pourra lire et modifier.
2.1 Affectation
L'affectation attribue une valeur à une variable. En langage naturel on la note , et en Python à l'aide du symbole =.
x = 5 # on stocke l'entier 5 dans la variable x
y = 2.5 # on stocke le flottant 2.5 dans y
nom = "Math" # on stocke une chaîne de caractères dans nom
Une variable se représente comme une case de la mémoire, munie d'une étiquette (son nom) et contenant une valeur.
Un programme est une séquence d'instructions : elles s'exécutent dans l'ordre, de haut en bas, chacune utilisant les valeurs laissées par les précédentes. Changer l'ordre des instructions peut changer le résultat.
Les deux séquences ci-dessous contiennent les mêmes instructions, mais dans un ordre différent :
x = 2 # séquence A
x = x * 3 # x vaut 6
x = x + 1 # x vaut 7
x = 2 # séquence B
x = x + 1 # x vaut 3
x = x * 3 # x vaut 9
Le symbole = sert à l'affectation (on range une valeur dans une variable), tandis que == sert à tester l'égalité de deux valeurs et renvoie un booléen.
a = 4 # affectation : a vaut désormais 4
print(a == 4) # test d'égalité : affiche True
L'instruction x = x + 1 n'est pas une équation ! On calcule d'abord le membre de droite avec la valeur actuelle de x, puis on range le résultat dans la case x (l'ancienne valeur est écrasée).
2.2 Les types de données
Chaque valeur possède un type. En Seconde, on rencontre principalement quatre types :
int: un nombre entier (5,-12) ;float: un nombre à virgule flottant (2.5,-0.1) ;str: une chaîne de caractères (du texte, entre guillemets :"Math") ;bool: un booléen, valantTrue(vrai) ouFalse(faux).
La fonction type() donne le type d'une variable.
x = 5
print(type(x)) # <class 'int'>
y = 2.5
print(type(y)) # <class 'float'>
nom = "Math"
print(type(nom)) # <class 'str'>
b = (3 > 2)
print(b) # True
print(type(b)) # <class 'bool'>
Méthode : Choisir le bon type
On choisit le type selon la donnée : un comptage ou un rang int ; une mesure, un résultat de division float ; un texte str ; le résultat d'un test bool. La conversion se fait avec int(), float() ou str().
2.3 Entrées et sorties
La fonction print() affiche une information à l'écran ; input() permet à l'utilisateur de saisir une valeur au clavier.
La valeur saisie est une chaîne de caractères : pour l'utiliser comme un nombre, il faut la convertir avec int() ou float().
age = input("Quel est ton âge ? ") # l'utilisateur tape par exemple 15
age = int(age) # conversion de "15" en entier 15
print("Dans 10 ans tu auras", age + 10, "ans")
# Affiche : Dans 10 ans tu auras 25 ans
2.4 Les opérateurs arithmétiques
print(7 + 2) # 9 addition
print(7 - 2) # 5 soustraction
print(7 * 2) # 14 multiplication
print(7 / 2) # 3.5 division (résultat décimal, type float)
print(7 // 2) # 3 quotient de la division entière
print(7 % 2) # 1 reste de la division entière (modulo)
print(7 ** 2) # 49 puissance (7 au carré)
Le reste n % 2 vaut lorsque n est pair et lorsqu'il est impair : c'est le test de parité le plus utilisé en programmation.
Méthode : Échanger le contenu de deux variables
En Python, on réalise un échange simultané avec a, b = b, a : le membre de droite est entièrement calculé avant l'affectation, donc aucune valeur n'est perdue.
a = 3
b = 8
a, b = b, a
print(a, b) # Affiche : 8 3