MatheX – Licence CC BY-NC-SA 4.0 - https://www.mathexien.com
Objectifs:
- Introduire Python pour les élèves de 2nd
- Synthétiser les connaissances en programmation pour les élèves de 2nd et de 1ère spé Maths
- Mettre en place des fondamentaux sur Python en début de 1ère spé NSI
Méthodologie:
Lire l'activité
Réaliser les missions en programmant sur un environnement de développement:
- en ligne ( notebook, repl.it, pythontutor , ...)
- installé sur votre ordinateur ( idle de Python, Thonny, Pycharm Community, ...)
Visionner la vidéo de l'épisode pour plus d'explications et pour la correction
Objectifs:
- Introduire le concept de Variable
- Programmer des instructions d'affectation
- Différencier les types de données de base
On a souvent besoin dans un programme de conserver une donnée en mémoire en vue d'un traitement utltérieur, on utilse pour cela une variable qui est représentée par un nom:
xxxxxxxxxx
11a = 3
Cette instruction est une instruction d'affectation: on affecte à la variable nommée a la valeur 3:
xxxxxxxxxx
21a = 3
2print( a )
xxxxxxxxxx
113
Pour faire simple, on peut voir une variable comme une boîte qui a un nom et qui contient une donnée.
Pour être plus précis, à une variable est associée une adresse mémoire et cette adresse mémoire contient la donnée.
On peut affecter à une variable directement une donnéec mais aussi le contenu d'une autre variable, le résultat d'une expresion arithmétique, la combinaison d'expressions, ... :
xxxxxxxxxx
51a = 3
2a = a + 1 # on met dans a: (l'ancienne valeur de a) + 1
3b = a
4b = b * 2 # on met dans b: (l'ancienne valeur de b) * 2
5c = a ** b
Déterminez la valeur des variables du programme ci-dessus:
- sans exécuter le programme
- en ajoutant des
print()
à la fin du programme et en l'exécutant
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
Ecrire un programme qui demande à l'utilisateur son nom, le récupère, puis lui demande son prénom, et enfin affiche un message de bienvenue contenant son nom et son prénom.
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
Le type d'une donnée correspond à la nature de la donnée, nous en avons déjà vu certains en #1, voici la liste des types de base:
Type | Nature | Exemple | Opération |
---|---|---|---|
int ( integer) | nombre entier relatif | 2 1000000 -3 2020 | + ( addition) * ( multiplication) / ( division décimale) ** ( puissance) // ( quotient division euclidienne) % ( reste division euclidienne) |
float ( floating point) | nombre décimal relatif | 2.3 -1.7245 | + ( addition) * ( multiplication) / ( division décimale) |
str ( string) | chaîne de caractères ( caractère, texte) | "Hello" "2020" | + ( concaténation) * ( concaténation multiple) |
bool ( boolean) | booléen | True False | and ( et logique) or ( ou logique) not ( non logique) |
Pour compléter, on verra plus tard dans la série un dernier type: les listes.
Le type d'une variable est le type de la donnée affectée à la variable.
Il est très important de maîtriser la typologie car les opérations et d'autres manipulations ne sont pas les mêmes selon le type de la donnée:
xxxxxxxxxx
191# Initialisation des variables (première affectation)
2nombre_a = 3
3nombre_b = 5
4string_a = 'texte a'
5string_b = 'texte b'
6booleen_a = True
7booleen_b = False
8
9# opérations correctes
10nombre_a + nombre_b # addition de deux nombres (résultat: 8)
11string_a + string_b # concaténation de deux textes (résultat: 'texte atexte b')
12booleen_a and booleen_b # et logique entre deux booléens (résultat: False)
13booleen_a or booleen_b # ou logique entre deux booléens (résultat: True)
14not booleen_a # non logique d'un booléen (résultat: False)
15
16# opérations incorrectes: l'exécution entraîne une erreur (ou le résultat est inconsistant)
17nombre_a + string_a # + entre un nombre et une chaîne de caractère
18nombre_a and nombre_b # et logique entre deux nombres
19not string_a # non logique d'un texte
On peut connaître le type d'une variable avec la fonction: type(nom_variable)
On peut changer le type d'une variable ( lorsque c'est possible) avec une opération de convertion (casting):
xxxxxxxxxx
1# initialisation des variables
2a = 3
3print( type( a ) ) # l'instruction affichera int
4b = '2.3'
5print( type( b ) ) # l'instruction affichera str
6
7# casting
8c = str( a ) # la fonction str() convertit le nombre en string
9print( type( c ) ) # l'instruction affichera str
10
11d = int( c ) # la fonction int() convertit le texte en nombre entier (si c'est possible !)
12print( type( d ) ) # l'instruction affichera int
13
14e = float( b ) # la fonction float() convertit le texte en nombre décimal (si c'est possible !)
15print( type( e ) ) # l'instruction affichera float
16
On reprend la mission 2.2. mais en plus:
- on demande à l'utilisateur son année de naissance
- on lui précisera son âge ( en fin d'année) dans le message de bienvenue
NB: la fonction
input()
renvoie toujours une string ( et pas un nombre)
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7