SNT / Thème transversal : Programmation Python / Séance 1

Variables et affectation

Pourquoi code-t-on ? (Vidéo)

Introduction

Au collège, vous avez déjà programmé mais en utilisant un langage de programmation par blocs. Ce type de langage est très utile pour apprendre les bases de l’algorithmique et de la programmation mais ne constitue pas un langage utilisé pour programmer réellement. Pour cela, on utilise des langages dits textuels qui nécessitent d’écrire tout le code avec son clavier.

Au lycée, vous allez apprendre l’un de ces langages : le langage Python. Vous l’utiliserez dans différentes disciplines : Mathématiques, SNT, Physique-Chimie, spécialité NSI notamment.

Différences collège/lycée

Voici à gauche, un programme écrit dans un langage par blocs et à droite le même programme écrit dans le langage Python.

comparaison programmation par blocs et textuelle

Variables

En informatique, il est indispensable de conserver des informations de natures diverses. Par exemple, votre smartphone enregistre dans sa mémoire votre numéro de téléphone, les numéros de téléphones de vos contacts, vos messages (SMS), vos photos, vos applications, etc. Chacune de ces informations est stockée à un endroit précis dans la mémoire dans ce qu’on appelle une variable.

Ainsi, de manière simplifiée, retenez la définition suivante.

Une variable est un espace de stockage de la mémoire (une case mémoire). Chaque variable est caractérisée par son nom, son type et sa valeur.

Au fait, pourquoi dit-on variable ?

Tout simplement car les données qu’elle contient peuvent varier (au cours du temps) : si un ami change de numéro de téléphone, vous êtes content de pouvoir le modifier.

Types de variables

Le type d’une variable est la nature de l’information qu’elle contient. Vous conviendrez que l’heure de votre réveil et votre dernier SMS reçu n’ont pas la même nature : le premier correspond à des nombres et le second à du texte.

Dans un premier temps, voici les trois types de base qui nous intéressent :

  • le type entier : il désigne les entiers relatifs (positifs ou négatifs).
    En Python on parle du type int (pour integer qui signifie « entier » en anglais) ;
  • le type flottant : il désigne les nombres décimaux (à virgule).
    En Python on parle du type float (pour floating qui signifie « flottant » en anglais)
  • le type chaîne de caractères : il désigne toute suite ordonnée de caractères.
    En Python on parle du type str (pour string qui signifie « chaîne » en anglais).

Activité 1

Indiquez le type des variables permettant de stocker (sur votre smartphone) les informations suivantes :

  • le nom d’un contact
  • le numéro de téléphone d’un contact
  • un SMS
  • l’heure du réveil
  • le code de votre partage de connexion Wi-Fi
  • le pourcentage affiché de batterie restante
  • les notes aux deux derniers devoirs de Mathématiques que vous tapez dans l’application Calculatrice pour calculer votre moyenne

Noms de variables (en Python)

Chaque variable possède un nom qui permet d’identifier l’emplacement mémoire correspondant.

Dans le langage Python, il y a des règles à respecter pour nommmer les variables. Voici celles qui vous concernent :

  • Règle 1 : un nom ne peut contenir que des lettres (a-z, A-Z), des chiffres (0 - 9) et le caractère _ (underscore).
  • Règle 2 : un nom ne peut pas commencer par un chiffre.
  • Règle 3 : les noms sont sensibles à la casse, cela signifie qu’il y a une distinction entre les minuscules et les majuscules : la variable nommée snt est différente de la variable Snt.
  • (Règle 4) : il est préférable de toujours choisir un nom de variable représentatif : par exemple, si vous voulez stocker le nom d’une personne dans une variable, il est préférable de l’appeler nom plutôt que x.
  • (Règle 5) : il est préférable de ne pas utiliser de caractères accentués dans le nom d’une variable (nous n’entrerons pas dans le pourquoi du comment).

En Python, le symbole underscore (c’est-à-dire _) est très souvent utilisé pour marquer une séparation entre plusieurs mots dans un nom : si on veut utiliser une variable qui contiendra un nombre d’élèves de Seconde G, on peut la nommer nombre_eleves_2G ou encore nb_eleves_2G car c’est plus facile à lire que nombreeleves2G.

Activité 2

  1. Quels sont les noms de variables incorrects parmi ceux proposés ? Vous indiquerez pourquoi.
    • prix achat
    • prix_achat
    • note
    • 2ndeG
    • SecondeG
    • Seconde:G
    • dix-huit
  2. Proposez un nom de variable permettant de stocker :
    • le nombre de filles de Seconde G
    • le tarif d’un repas au self
    • l’aire d’un triangle (il n’y a qu’une seule figure)
    • la note à un devoir d’anglais

Valeurs des variables

Chaque variable possède une valeur qui est l’information qu’elle porte. Par exemple, la valeur de la variable nombre_eleves_2G pourrait être 34, celle de la variable note pourrait être 14.5, celle de la variable prenom pourrait être "Louane".

Affecter une valeur à une variable

En Python, pour définir ou modifier la valeur d’une variable c’est très simple, il suffit d’utiliser le symbole égal : =.

Exemples

Je souhaite que ma variable note soit égale à 15, j’écris :

note = 15

Dans ce cas, la variable est de type entier (int en Python).

Si finalement, mon professeur a oublié un demi-point, je peux modifier sa valeur comme ceci :

note = 15.5

Important : On utilise le point (.) et non pas la virgule pour écrire des nombres décimaux.
Dans ce cas, le type de la variable note a changé : c’est devenu un flottant (float en Python).

Si on veut créer une chaîne de caractères nommée prenom, il suffit d’écrire :

prenom = "Louane"

Important : On utilise les guillemets ("") pour désigner les chaînes de caractères.

Afficher la valeur d’une variable

Pour afficher la valeur d’une variable on utilise la fonction print(). Par exemple, pour afficher la valeur de la variable note on écrit simplement : print(note). A l’exécution du code, la valeur s’affiche dans la console. Voir la démonstration

Pour afficher le type d’une variable, on utilise la fonction type(). Par exemple type(var) va indiquer le type de la variable var : soit int, soit float, soit str. Voir la démonstration

Opérations sur les variables de type nombre (int et float)

Nous nous contenterons ici de montrer quelques opérations possibles sur les entiers et les flottants (on parle des chaînes de caractères en fin de document).

Il n’y a pas de surprise : il est possible d’additionner, soustraire, multiplier, diviser des variables de type nombre (entier ou flottant). On utilise pour cela les symboles habituels résumés dans le tableau ci-dessous dans lequel on indique aussi comment élever un nombre à une certaine puissance.

Opération Ecriture en Python
Addition a + b
Soustraction a - b
Multiplication a * b
Division a / b
Elever a à la puissance n a ** n (double symbole de multiplication)

Activité 3

  1. Indiquez la valeur des variables à l’issue de chaque ligne du programme suivant.
a = 15
b = 10
c = a + b
d = c / 2
  1. Quel est le type de chaque variable ?
  2. On considère maintenant que a et b correspondent à des notes. Réécrivez (sur papier) le programme en utilisant des noms de variables plus représentatifs (pour les 4 variables).

A VOUS DE JOUER !

Pour écrire du code Python, on utilise un éditeur de code. C’est un logiciel qui se décompose généralement en deux fenêtres : la fenêtre d’édition dans laquelle on écrit le programme dans le langage Python et la console dans laquelle peuvent notamment s’afficher les valeurs des variables souhaitées (si on utilise la fonction print()).

capture d'écran de l'éditeur

Il existe énormément d'éditeur et nous utiliserons pour cette séance un éditeur en ligne appelé BASTHON (qui signifie Bac À Sable Python) qui ne nécessite pas d’installation (vous pourrez donc l’utiliser chez vous rien qu’avec une connexion Internet).

Voici un lien permettant d'accéder à Basthon : https://console.basthon.fr/. Vous pourrez effacer le texte déjà écrit dans la fenêtre de gauche. Vous trouverez également un lien sur la page consacrée à Python de ce site Web.

Les activités qui suivent n’ont pas de contexte particulier. C’est pourquoi on utilise des noms de variables peu représentatifs. Leur seul but est de faire ancrer les notions abordés dans ce document.

Activité 4

On considère le programme Python suivant.

a = 8
b = 3
a = a - 4
b = 2 * b
a = a + b
print(a)
  1. Combien de variables sont utilisées ? Combien de valeurs différentes ont-elles prises au cours de l’exécution du programme ?
  2. Quelle est la valeur finale de la variable a ?
  3. Cliquez ici pour ouvrir l'éditeur de code. Vérifiez votre réponse à la question précédente en exécutant le code : pour cela il suffit de cliquer sur le bouton Exécuter.
  4. Il est possible d’afficher plusieurs valeurs avec la fonction print. Par exemple, si on veut afficher les valeurs des variables a et b on écrit simplement print(a, b). Modifiez la dernière ligne du programme et exécutez-le.

Activité 5

On considère le programme Python suivant.

a = 5
b = a + 1
b = b + 2
c = b - a
print(c)
  1. Qu’affiche ce programme ?
  2. Ouvrez l'éditeur de code basthon , recopiez à la main ce programme (sans copier-coller, c'est pour apprendre à écrire) puis vérifiez votre réponse précédente en exécutant ce programme dans l’éditeur.

Activité 6

On considère le programme de calcul suivant.

  • A prend la valeur 5
  • Multiplier A par 3
  • Soustraire 4 au résultat
  • Elever le résultat au carré
  • Afficher le résultat

Écrivez dans un éditeur un programme Python permettant de coder ce programme de calcul. Vérifiez ensuite en l'exécutant.

Activité 7

vente en ligne

Sur un site de vente en ligne, on peut acheter différents articles. Un paquet de farine d'un kg coûte 1,15 € et une boîte de six oeufs coûte 1,50 €.

Écrivez dans un éditeur un programme Python qui utilise deux variables pour stocker le nombre de paquets de farine et de boîtes d'oeufs souhaités puis, qui calcule et affiche le prix total à payer pour la commande.

Compléments sur les chaînes de caractères

Pour les chaînes de caractères c’est plus court car il n’y a que deux opérations possibles :

Exemple : lien vers programme sur Basthon