ÉMILIE DE RODAT
TECHNOLOGIE
Chapitre 1 : Python, les variables et les fonctions ‘type’, ‘print’ et 'input'
On présente ici les bases du langage Python : calculs, variables, affichage, saisie, type de données. Les fonctionnalités un peu plus avancées telles que les instructions conditionnelles, les boucles, les fonctions ou les listes seront étudiées dans les chapitres suivants.

Variables:
Une variable est une donnée de votre programme, définie par un nom unique, stockée dans l’ordinateur, elle contient une valeur qui peut changer au cours du temps, elle a donc une dimension temporelle. Voyez la mémoire de votre ordinateur comme une grosse armoire avec plein de tiroirs. Chaque tiroir peut contenir une donnée ; certaines de ces données seront des variables de votre programme. En utilisant Scratch au collège, vous avez déjà initié les variables au début des programmes.
En Python, pour donner une valeur à une variable, il suffit d'écrire nom_de_la_variable = valeur.
Le signe « = » en Python est un signe d’affectation. Il permet de donner une valeur à une variable.
La déclaration d’une variable : c’est le fait de lui donner un nom.
L’affectation d’une variable : c’est le fait de lui donner une valeur.
L'initialisation d’une variable : consiste à donner la valeur de la variable au moment même où on la déclare.
Exemple : a=3
La variable nommée « a » reçoit la valeur entière « 3 ». On nomme une case mémoire de l’ordinateur « a » et on lui met la valeur « 3 ».
Une variable doit respecter quelques règles de syntaxe incontournables :
• Le nom de la variable ne peut être composé que de lettres, majuscules ou minuscules, de chiffres et du symbole souligné « tiré du 8 » ou bien « _ » (appelé underscore en anglais).
• Le nom de la variable ne peut pas commencer par un chiffre.
• Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et minuscules ne constituent pas la même nom de variable (la variable « AGE » est différente de « Age », et différente de « age »).
• Il faut donc éviter de mettre des espaces et des accents dans les noms de variables en Python, et on ne peut pas utiliser les mots réservés en Python pour nommer des variables, à savoir:
False class from or None continue global pass True def if raise and del import return as elif in try assert else is while async except lambda with await finally nonlocal yield break for not print
Contrairement à Scratch, dans toute langage informatique textuelle, on parle de typage de données. Ce qui veut dire que pour une variable donnée un type lui est associé.
En Python, pour cette année de Seconde, on va distinguer d'abord 3 types de variables :
1. Les Entiers (integer - int)
Pour un ordinateur, les opérations que l'on effectue sur des nombres à virgule ne sont pas les mêmes que celles sur les entiers, et cette distinction reste encore d'actualité de nos jours.
Le type entier se nomme « int » en Python (qui correspond à l'anglais « integer). La forme d'un entier est un nombre sans virgule.
Exemple : a=10
2. Les Flottants (float)
Les flottants sont les nombres à virgule. Ils se nomment « float » en Python (ce qui signifie « flottant » en anglais). La syntaxe d'un nombre flottant est celle d'un nombre à virgule (la virgule est un point). Si ce nombre n'a pas de partie flottante mais que vous voulez qu'il soit considéré par le système comme un flottant, vous pouvez lui ajouter une partie flottante de 0 (exemple 52.0).
Les nombres après la virgule ne sont pas infinis, puisque rien n'est infini en informatique. Mais la précision est assez importante pour travailler sur des données très fines.
Exemple : b=5.02
3. Les Chaînes de caractères (string - str)
Ce type de donnée permet de stocker une série de lettres, et pourquoi pas une phrase. Ils se nomment « str» en Python (pour « string » ce qui signifie « chaîne » en anglais).
On peut écrire une chaîne de caractères de différentes façons :
• entre guillemets, si il y a des apostrophes dans le texte ("ceci est une ‘chaîne’ de caractères") ;
• entre apostrophes, si il y a des guillemets dans le texte ('ceci est une « chaîne » de caractères') ;
• entre triples guillemets, si il y a des guillemets et des apostrophes dans le texte ("""ceci est « une » ‘chaîne’ de caractères""") ; Les triples guillemets permettent également d’afficher un texte sur plusieurs lignes.
Exemple : c=’prénom’
Ce typage peut être explicite : le type de variable apparaît de façon explicite dans la ligne de code.
Exemples :
a=int(3)
b=float(5.2)
c=str(prénom)
Ce typage peut être implicite : le type de variable n’apparaît pas de façon explicite dans la ligne de code, il est sous-entendu par la lecture de la valeur initiale donnée.
Exemples :
a=3
b=5.2
c=‘prénom’
Le script ci-dessous déclenchera une erreur !
a=3
b=‘5’
c=a+b
La variable a est de type Entier. La variable b est de type Chaîne de caractères. Python ne sait pas additionner ces deux types qui sont différents, mais des entiers et des floats, si.
Attention! Un nombre décimal (float) sépare la partie entière et la partie décimale par un point. On utilise la virgule en Python pour séparer deux variables, voire deux valeurs, ainsi les deux écritures ci-dessous auront le même résultat:
a=5
b=3
équivaut:
a,b=5,3
Le bibliothèque « maths » permet de faire des calculs mathématiques plus compliqués, style: sinus, cosinus, racine carrée sqrt, pi, round pour arrondir .… Pour importer le module / bibliothèque "maths" (dans la totalité) il faut écrire:
from math import *
Le bibliothèque « random » permet de générer des nombres aléatoires. Pour importer le module / bibliothèque "random" (dans la totalité) il faut écrire:
from random import *
La fonction « type » (nom_de_variable) permet de connaître le type de variable attribué.
En Python la fonction « type » imprime le mot « class » dans la console, ce qui veut dire : « le type de variable ».
Pour modifier le type d’une variable on peut faire, ce que l’on appelle en anglais, un « cast ».
Exemples: x=int(3.0) donne 3 ou x =float(6) donne 6.0
Attention! Le résultat du « cast » x=int(4.6) donne 4 et la fonction mathématique x=round(4.6) donne 5. Les deux résultats sont de type 'integer'.
Quelques opérateurs mathématiques sous Python :
* est le symbole pour une multiplication
** est le symbole pour une puissance par exemple 2**3 donne 2x2x2= 2³ = 8
/ est le symbole pour la division décimale, le résultat est un float (même si le résultat est entier!!)
// est le symbole pour le quotient de la division euclidienne, le résultat est un integer (la partie entière)
% est le symbole pour le modulo, le reste de la division euclidienne
La fonction « print » permet d'afficher du texte / le résultat du programme sur la console.
Grâce à la fonction « input », on peut récupérer une donnée saisie par l’utilisateur.
Par défaut, si ce n’est pas défini autrement, la fonction « input » capte une chaîne de caractère.
Dans le programme suivant, l’utilisateur entre la valeur 3. La variable devient donc « chaîne de caractère » et contient la valeur « 3 ». On ne pourra pas faire de calcul avec cette variable.
a=input("entrer le nombre 3:")
b=a+5
résultats dans la console:
entrer le nombre 3:3
Traceback (most recent call last):
File "<input>", line 2, in <module>
TypeError: can only concatenate str (not "int") to str
Ce qui veut dire que Python peut additionner des strings ensemble ‘1’+’2’ donne ‘12’ par exemple, mais on ne peut pas additionner des strings et des integer ou bien des strings avec des float ou booléens.
Une solution : Avec l’instruction a= int(input("entrer un nombre : ")) on définit la variable « a » comme un entier est le programme ne fonctionnera que si l’utilisateur entre un entier.
a=int(input("entrer le nombre 3:"))
b=a+5
print(a,b)
résultats dans la console:
entrer le nombre 3:3
3 8
Le symbole # en Python indique que ce qui suit ne sera pas interprété par Python. Cela permet de commenter une ligne du programme pour pouvoir expliquer un fonctionnement.
Exemple :
a=int(input("entrer le nombre 3:"))
b=a+5 # ceci est un commentaire
print(a,b) # on renvoie le résultat dans la console
Résume du chapitre 1:
Opérations mathématiques
Multiplication : *
Division ordinaire : /
Division entière : //
Reste (modulo) : %
Puissance : ** (exemple : 2**3 pour "2 au cube")
Types de variables
int (integer) : nombre entier
float (flottant) : nombre à virgule
str (string) : chaîne de caractères
Incrémenter une variable
a = a + 1
Syntaxe abrégée : a += 1
Concaténation de chaînes : "bon" + "jour" donne "bonjour"
Affichage
Fonction print()
On peut rajouter des paramètres sep (séparateur) et end (fin).
Exemple : print("a","b","cd",sep="-",end="@") donne a-b-cd@
Saisie utilisateur
réponse = input("Saisissez une valeur : ")
(la réponse est une chaîne de caractères)
Changer le type d'une variable
int(chaine) : transforme une chaîne de caractère en int
float(chaine) : transforme une chaîne en float
str(nombre) : transforme un nombre en chaîne de caractères
Nombres aléatoires
module random
randint(a,b) : renvoie un nombre entier aléatoire entre a et b (inclus).