Variables#

Qu'est-ce qu'une variable ?#

En programmation, l'un des concepts fondamental est celui de variable. Ce terme désigne en fait la mémoire du programme. Une variable permet de stocker une valeur dans la mémoire du programme et de lui donner un nom. On peut se représenter une variable comme une boîte dans laquelle on range une valeur et sur laquelle on colle une étiquette indiquant son contenu. De manière schématique, on a donc ci-dessous deux variables. La première, appelée nom, contient le texte "Jan". La variable age contient quant à elle la valeur 26.

Exemple visuel de deux variables

En Python, on peut créer des variables (et donc stocker des valeurs dans la mémoire du programme) avec la syntaxe nom_de_la_variable = valeur. Ainsi, les deux variables ci-dessus peuvent être créées de la manière suivante :

1nom = "Jan"
2age = 26

L'exécution de ce programme ne donne rien, mais les deux variables ont bien été créées. On peut visualiser le contenu des variables en utilisant le print() vu précédemment. En effet, si l'on met le nom d'une variable préalablement déclarée dans un print(), sa valeur sera alors affichée. Finalement, pour donner du sens à la valeur affichée, on peut afficher un texte à ses côtés en le séparant par une virgule.

1prénom = "Iliya"
2pays = "Bulgarie"
3ville = "Fribourg"
4print(prénom)
5print("Je viens de", pays, "et j'habite à", ville)

Le nom des variables ne doit jamais contenir d'espaces ! Ainsi, dans le cas où le nom d'une variable contiendrait plusieurs mots, on les sépare avec des "tirets en bas". Par exemple. année_de_naissance ou poids_en_grammes.

Types de valeurs#

En Python, les valeurs que l'on stocke dans les variables peuvent être de 4 types différents. Dans l'exemple précédent, nom contient un texte, c'est-à-dire une valeur de type str. La variable age contient quant à elle un nombre entier, qui est une valeur de type int. Le tableau ci-dessous résume les quatre types de valeurs possibles.

Type

Nom complet

Description

Exemple

int

integer

Nombres entiers

4

float

flottant

Nombres à virgules

4.125

str

string

Texte / Chaînes de caractères

"Bonjour"

bool

booléen

Résultat d'un test: Vrai ou Faux

2<1 renvoie False

Important

  • Pour séparer les unités des décimales, les flottants utilisent un point, et non une virgule

  • Le texte des strings est toujours entourant de guillemets

Dans l'exemple ci-dessous, 4 variables de 4 types différents sont déclarées.

1année = 2025
2distance_km = 45.32
3collège = "Collège Sainte-Croix"
4promu = True

Opérations arithmétiques#

Avec Python, il est très facile d'effectuer des opérations arithmétiques (autrement dit, des calculs). On peut utiliser les opérateurs suivants. La priorité des opérations est la même qu'en mathématiques. On peut utiliser des parenthèses pour modifier cette priorité.

Opérateur

Nom

Exemple

Résultat

+

Addition

3 + 4

7

-

Soustraction

9 - 12

-3

*

Multiplication

5 * 6

30

/

Division

11 / 2

5.5

**

Puissance

2 ** 3

8

Ces opérateurs peuvent être utilisés comme ci-dessus avec des valeurs, ou avec des variables, comme le montre l'exemple ci-dessous.

1nombre_de_personnes = 13
2prix_par_personne = 5.75
3réduction = 10.5
4total = nombre_de_personnes * prix_par_personne - réduction
5print("Le prix total est de", total, "CHF")

Ordre d'exécution des instructions#

Dans tous les langages de programmation, les lignes de code s'exécutent les unes après les autres de haut en bas. Lorsqu'une ligne s'effectue, elle ne peut pas influencer une ligne précédente. Par exemple, dans le programme ci-dessous, la valeur de b est définie comme le double de a. Toutefois, lorsque la valeur de a change, cela n'impacte pas la valeur de b qui a déjà été calculée.

1a = 5
2b = a * 2
3a = 9
4print(a, b)

Afin de bien comprendre l'exécution d'un programme, nous allons utiliser un tableau d'état. Celui-ci permettra d'établir la valeur de chaque variable à tout moment du programme. Dans l'exemple ci-dessous, on comprend bien que le changement de valeur de a n'impacte pas les valeurs de b, c, et d.

Programme

1a = 10
2b = 30
3c = a + b
4d = c * a
5a = 2 * a
6
7print(a, b, c, d)

Tableau d'états

ligne

a

b

c

d

1

10

/

/

/

2

10

30

/

/

3

10

30

40

/

4

10

30

40

400

5

20

30

40

400

Opérateurs d'affectation combinée#

Les opérateurs d'affectation combinée permettent de modifier la valeur des variables avec une notation simplifiée. Il existe pour tous les opérateurs mathématiques, voici les principaux.

Opérateur

Exemple

Équivalent à

+=

x += 6

x = x + 6

-=

x -= 6

x = x - 6

*=

x \*= 6

x = x * 6

/=

x /= 6

x = x / 6

Exercices#

Exercice 3#

De quel type sont les valeurs suivantes?

  1. 60

  2. "Hello Bob"

  3. 1.34

  4. True

  5. "45"

  6. -1.23

  7. "False"

  8. 0.34

  9. -12

  10. False

Exercice 4#

Ce code Python déclare 5 variables puis affiche leur contenu. Toutefois, ce programme contient une erreur par ligne. Trouvez ces erreurs et corrigez-les.

6 = age
message = Je suis absent
note = 4,5
porte_ouverte = false
nombre de voitures = 10
print(age, message note, porte_ouverte, nombre_de_voitures)

Exercice 5#

Quel est le résultat des expressions suivantes en Python?

  1. 15 / 3

  2. 3 * 7

  3. 7 / 2

  4. 4 - 3 * 2

  5. (1 + 2) ** 2 - 1

Exercice 6#

Déterminez la valeur de chacune des variables de ce programme en créant un tableau d'états.

x = 10
y = 2
z = y * x
y = z + x
x = y - z / 2
z = z * 2
y = 5

Exercice 7#

Déterminez la valeur de chacune des variables de ce programme en créant un tableau d'états.

nombre_habitants = 150 + 25 * 2
cout = 100
prix = nombre_habitants * cout
cout = cout / 2
nombre_habitants = nombre_habitants - 100
prix = prix + nombre_habitants * cout
nombre_habitants = 400
prix = prix + nombre_habitants * cout

Exercice 8#

Sans exécuter le programme ci-dessous, prédites ce qu'il affichera. Une fois votre hypothèse faite, exécutez le code pour la vérifier. Quelle est donc l'impact des guillemets dans un print() ?

salutations = "Bonjour"
print(salutations)
print("salutations")

Exercice 9#

Complétez le programme ci-dessous de manière à ce qu'il permette de calculer la moyenne des notes principales dans la variable du même nom. La note de math est de 4, et celles de français et d'allemand sont de 5 et demi.

Finalement, affichez la moyenne calculée avec un print(). Le programme devrait afficher La moyenne principale est de 5.

math = 
francais = 
allemand = 
moyenne = 
print()

Exercice 10#

Écrivez un petit programme en Python permettant de calculer le volume \(V\) d'un cylindre en fonction de son rayon et de son hauteur. Votre programme contiendra les lignes suivantes :

  • Créer une variable pi contenant la valeur 3.14.

  • Créer une variable hauteur contenant la valeur 30

  • Créer une variable diamètre contenant la valeur 11

  • Créer une variable rayon contenant la moitié de diamètre (c'est à dire diamètre divisé par 2).

  • Créer une variable aire_disque contenant le résultat de \(\pi \cdot r^2\)

  • Créer une variable volume contenant le résultat de l'aire du disque multiplié par la hauteur.

  • Afficher le contenu de la variable volume avec un texte explicatif. Si tout est correct, le programme doit afficher Le volume est de 2849.55 m3.

#Ecrivez votre code ici

Exercice 11#

Le programme ci-dessous contient 2 erreurs dues à l'ordre des opérations. C'est-à-dire que l'ordre de certaines lignes a été inversé. Identifiez ces erreurs et réordrez les lignes de sorte que le programme fonctionne correctement. Attention : même si le programme s'exécute sans erreur, vérifiez que le total est bien de 18.9 CHF.

prix_haricots = 3.5
prix_carottes = 2.9
prix_poulet = 9.9
prix_légumes = prix_haricots + prix_carottes + prix_aubergines
prix_aubergines = 4.1
total = prix_légumes + prix_poulet
réduction_poulet = 1.5
prix_poulet -= réduction_poulet
print("Le total des courses est de", total, "CHF")

Exercice 12#

Complétez le programme ci-dessous pour calculer le montant que chaque élève doit payer pour la sortie de classe en fonction des données suivantes :

  • 25 élèves prennent part à la sortie

  • La journée débute à FriBowling. Le prix du bowling est de 10CHF par personne et par heure. Les élèves jouent durant 1h30.

  • En sortant, un élève chanceux et généreux trouve un billet de 50CHF sur le sol et décide de le mettre dans la caisse de classe pour payer les activités suivantes.

  • Puis, les élèves se rendent à la piscine de la Motta. L'entrée coûte 4.5 CHF par élève. Toutefois, comme le groupe dépasse 20 personnes, un rabais de 20% est accordé.

  • L'après-midi, la classe fait un mini-golf urbain. Le prix pour tout le groupe est de 125CHF

Affichez le montant que chaque élève devra payer sachant que dans cet univers fictif (et décidemment très généreux) le collège paie la moitié du montant de la journée.

ATTENTION : Pour vous y retrouver, veillez à inclure des commentaires dans votre code !

nombre_élèves =

#Calcul du prix du bowling
tarif_bowling = 10
durée_bowling =
prix_total_bowling =

#A vous de continuer depuis ici !