Entiers et réels
Contents
Entiers et réels#
Il existe de nombreux types de variables en Python. Voici une liste non-exhaustive des types de variables que nous allons parcourir dans ce syllabus:
Entiers
Réels
Booléens
Chaînes de caractères
Nous verrons également des structures de données plus avancées, c’est-à-dire des variables qui peuvent contenir plus d’informations.
Listes
Dictionnaires
Ce chapitre s’intéresse aux types de base en Python: les entiers et les réels.
Créer une variable#
Le but d’une variable est de stocker de l’information. De cette manière, nous pourrons faire référence à cette variable et utiliser son contenu.
Attribuer la valeur de 1 à
a
et l’afficher.
a = 1
print(a)
1
Warning
Attention, il y a une différence importante entre l’environnement interactif fourni par le Shell et l’environnement “non-interactif” d’un fichier .py
. Dans un environnement interactif, il suffit d’indiquer le nom de la variable pour voir le contenu de cette variable s’afficher. Ce ne sera pas le cas dans un fichier .py
.
a = 1
a
1
To-do
Créez un script contenant le code a = 1
ainsi que print(a)
. Sauvez ce fichier et exécutez-le. A l’aide du Shell, faites apparaître la valeur de a
. Recommencez ensuite en supprimant l’instruction print(a)
et observez les différences.
Le contenu de cette variable est stocké à un endroit précis dans la mémoire de l’ordinateur. On peut connaître cet emplacement à l’aide de la fonction id
. Les adresses mémoires sont le plus souvent indiquées sous forme hexadécimale. Pour obtenir ce format hexadécimal, nous utilisons la fonction hex
.
hex(id(a))
'0x7fdc7802e930'
Cette adresse peut être convertie en adresse binaire à l’aide de la fonction bin
.
bin(id(a))
'0b11111111101110001111000000000101110100100110000'
Interaction entre variables#
Attribuer la valeur de 1 à
a
Attribuer la valeur de 2 à
b
Afficher leur somme.
a = 1
b = 2
print(a + b)
3
On obtient bien le résultat attendu !
Attribuer la valeur de 1 à
a
Attribuer la valeur de 2 à
b
Créer une variable
c
qui contient la somme dea
etb
Afficher
c
.
a = 1
b = 2
c = a + b
print(c)
3
Différentes opérations sont possibles: l’addition, la soustraction, la multiplication, la division, la division entière, le reste de la division entière (aussi appelé le modulo) et l’exposant. Voici un script avec a=7
et b=5
.
a = 7
b = 5
print(a + b) # addition
print(a - b) # soustraction
print(a * b) # multiplication
print(a / b) # division
print(a // b) # division entiere
print(a % b) # modulo
print(a ** b) # exposant
12
2
35
1.4
1
2
16807
Le résultat de la division de 7 par 5 donne 1.4. C’est un nombre décimal et on utilise le point comme séparateur de décimale (ne pas utiliser de virgule!). Un nombre décimal en Python est de type float
, en comparaison avec les nombres entiers qui sont de type int
, abbréviation de integer. Le float
provient du fait que les nombres décimaux sont aussi appelés des nombres en virgule flottante. Ceci provient de la façon dont ces nombres sont stockés dans l’ordinateur.
a = 1
print(type(a))
<class 'int'>
De même, un nombre décimal est de type float
.
b = 2.5
print(type(b))
<class 'float'>
Warning
Une erreur fréquente consiste à utiliser une virgule qu’un point pour séparer la partie entière de la partie décimale. Cela ne génère cependant pas une erreur dans la mesure où Python crée un tuple. Plus d’informations sur les tuples plus tard dans le cours.
Voyons maintenant comment afficher l’entièreté du calcul (et pas uniquement le résultat final). Nous allons donc afficher plusieurs éléments dans la fonction print
. Ces éléments doivent être séparés par une virgule. Il y a 2 possibilités :
On fait référence à une variable et on souhaite en afficher le contenu.
On souhaite simplement afficher du texte. Dans ce cas, le texte doit être entre guillemets ou entre apostrophes.
a = 7
b = 5
print(a, "+", b, "=", a + b) # addition
print(a, "-", b, "=", a - b) # soustraction
print(a, "*", b, "=", a * b) # multiplication
print(a, "/", b, "=", a / b) # division
print(a,"//", b, "=", a// b) # division entiere
print(a, "%", b, "=", a % b) # modulo
print(a, "^", b, "=", a** b) # exposant
7 + 5 = 12
7 - 5 = 2
7 * 5 = 35
7 / 5 = 1.4
7 // 5 = 1
7 % 5 = 2
7 ^ 5 = 16807
Exemple : calcul de TVA#
Créez une variable
taux_tva
égale à 21%, soit 0.21.Créez une variable
htva
égale à 1,000,000€Affichez la valeur de
htva
Calculez le montant de la TVA à payer et stocker le résultat dans
tva_a_payer
Affichez
tva_a_payer
Calculez le montant TVA comprise et stocker le résultat dans
tvac
Affichez
tvac
taux_tva = 0.21
htva = 1000000
print("Chiffre d'affaires:", htva)
tva_a_payer = taux_tva * htva
print("TVA a payer:", tva_a_payer)
tvac = htva * (1+taux_tva)
print("TVAC :", tvac)
Chiffre d'affaires: 1000000
TVA a payer: 210000.0
TVAC : 1210000.0
Remarque
Lorsqu’on multiplie un integer
par un float
, on obtient un float
.
Il est possible de convertir un float
en integer
à l’aide de la fonction int
. La partie décimale sera perdue.
a = 1.4
print(a)
a = int(a)
print(a)
1.4
1
Inversément, il est possible de convertir un integer
en float
.
a = 1
print(a)
a = float(a)
print(a)
1
1.0
Séparateurs de milliers#
Pour les grands nombres, il est possible (mais pas obligatoire) d’inclure des _
comme séparateurs de milliers. Ce n’est pas obligatoire, mais ça rend la lecture du chiffre plus facile. Ce caractère ne sera toutefois pas affiché.
taux_tva = 0.21
htva = 1_000_000
print("Chiffre d'affaires:", htva)
tva_a_payer = taux_tva * htva
print("TVA a payer:", tva_a_payer)
tvac = htva * (1+taux_tva)
print("TVAC :", tvac)
Chiffre d'affaires: 1000000
TVA a payer: 210000.0
TVAC : 1210000.0
Contrôler le nombre de décimales affichées#
Pour contrôler le nombre décimales affichées, nous pouvons utiliser la fonction round
. Cette fonction a besoin de deux informations: (1) le chiffre à arrondir, et (2) le nombre de décimales souhaitées.
a = 1 / 3
print(a)
0.3333333333333333
Nous pouvons utiliser la fonction round
pour afficher la valeur avec 2 décimales.
a = 1 / 3
print(round(a, 2))
0.33
Règles à respecter#
Lorsque nous créons une variable, il y a quelques règles à respecter au niveau du nom:
Le nom d’une variable peut contenir des lettres, des chiffres, ou le caractère
_
.Le nom d’une variable ne peut pas commencer par un chiffre. Ainsi,
taux_tva_21
est un nom acceptable, alors que21_pourcent
ne l’est pas.Python est sensible à la casse (case sensitive), ce qui implique qu’une lettre minuscule est différente d’une lettre majuscule. La variable
a
ne sera donc pas équivalente à la variableA
.Le nom d’une variable ne peut donc pas contenir d’apostrophe, raison pour laquelle nous avons créé la variable
chiffre_affaires_htva
, et paschiffre_d’affaires_htva
.
Ensuite, certains mots-clés (keywords) sont réservés; ils ne peuvent pas être utilisés comme nom de variable. Ces mots-clés ont une signification particulière et nous aborderons certains de ces mots-clés dans ce syllabus. Pour connaître la liste des keywords, nous pouvons écrire help(“keywords”)
.
help("keywords")
Here is a list of the Python keywords. Enter any keyword to get more help.
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
Les commentaires#
Dans le script précédent, l’opération qui est réalisée est indiquée sur la droite. Ce texte est précédé de #
. C’est un commentaire.
Note
Un commentaire est un morceau de code qui ne sera pas exécuté.
Les commentaires sont des morceaux de code qui ne sont pas “lus” par le programme. Ils doivent commencer par le sigle #
. Ils permettent d’expliquer le code. Ils permettent aussi d’éviter qu’un morceau de code soit exécuté. L’emploi des commentaires est une bonne pratique à adopter lorsqu’on réalise un code.
# Auteur: Christophe Desagre
# Cette ligne ne sera pas affichee
print('Cette ligne sera affichee.') # mais pas ce morceau
Cette ligne sera affichee.
Changer le contenu d’une variable#
Comme son nom l’indique, le contenu d’une variable est … variable. Une même variable peut donc contenir différentes valeurs au fur et à mesure de l’exécution du script.
a = 5
print("a =", a)
a = 6
print("a =", a)
a = 5
a = 6
Nous pouvons également changer le contenu d’une variable à partir de son contenu actuel. Par exemple, si la variable a
contient la valeur 5, on peut ajouter une unité à cette variable pour que le contenu de cette variable devienne 6. Ceci se fait facilement via:
a = 5
print("a =", a)
a = a + 1
print("a =", a)
a = 5
a = 6
![](/static/python/images/a_a_plus1.jpg)
Interaction avec l’utilisateur#
Il est possible de faire interagir l’ordinateur et l’utilisateur. Dans l’image ci-dessous, l’ordinateur affiche le message “Please enter your name”. L’utilisateur répond “John”. Ensuite l’ordinateur lui répond “Hello John! And welcome!”.
![](/static/python/images/hello_john.jpeg)
Pour récupérer une valeur fournie par l’utilisateur, il faut utiliser input
. Le résultat sera stocké dans la variable prenom
Warning
Si vous exécutez ceci dans IDLE, la question posée à l’utilisateur apparaît dans la console. Il faut y répondre et appuyer sur la touche return
.
prenom = input("Please enter your name: ")
print("Hello", prenom, "! And welcome!")
Please enter your name: christophe
Hello christophe ! And welcome!
Par défault, la réponse fournie par l’utilisateur sera stockée sous forme de chaîne de caractères. Si la réponse à la question doit être stockée en tant qu’entier / nombre décimal, il faut utiliser int()
/ float()
.
age = int(input("Quel age as-tu ? "))
print("Age", age)
Quel age as-tu ? 20
Age 20
taille = float(input("Quelle est votre taille (en mètre) ? "))
print("Taille", taille, "m")
Quelle est votre taille (en mètre) ? 1.80
Taille 1.8 m
Modules#
Python est installé avec une série de modules supplémentaires. Ces modules contiennent des fonctionnalités supplémentaires.
Math#
Le module math
permet d’avoir accès à des fonctions mathématiques. Dans un premier temps, nous devons importer le module.
import math
Ce module permet notamment d’avoir accès au nombre \(\pi\), au nombre d’Euler \(e\) ou à la fonction logarithmique.
p = math.pi
print(p)
3.141592653589793
e = math.exp(1)
print(e)
2.718281828459045
Le logarithme en base 10 du chiffre 100 est égal à 2 car:
x = math.log(100, 10)
print(x)
2.0
Pour plus d’informations, consultez la documentation du module à l’adresse suivante: https://docs.python.org/3/library/math.html
Random#
Le module random
permet de générer des chiffres aléatoires. La première instruction est d’importer le module.
import random
Dans ce module:
random.randint
permet de générer des nombres aléatoires entiers. Lors de l’appel de la fonction, il faut indiquer la borne inférieure et la borne supérieure. Par opposition àrange
, le chiffre généré sera compris entre la borne inférieure incluse et la borne supérieure incluse également.
chiffre = random.randint(1, 10)
print(chiffre)
4
random.choice
permet de choisir aléatoirement un élément dans une liste. Pour plus d’informations sur les listes, voir cette section
cours = ["Excel", "Python", "Fondamentaux"]
random.choice(cours)
'Fondamentaux'
OS#
Documentation officielle : https://docs.python.org/3/library/os.html
OS = operating system
import os
Dans quel dossier se trouve mon fichier ? (get current working directory)
os.getcwd()
Changer de dossier (change directory)
Il y a une différence dans la façon d’indiquer les chemins d’accès en fonction de l’ordinateur.
Mac
Utiliser un slash
/
os.chdir('/Users/christophe/.../Documents/Cours/Python')
Windows
Utiliser un double backslash
\
os.chdir('C:\\Users\christophe\\...\\Documents\\Cours\\Python')
Exercices#
Note: Pour chaque exercice, l’output attendu se trouve juste en dessous.
Exercice 1#
Afficher le message “Hello, World!”
print("Hello, World!")
Hello, World!
Exercice 2#
2.A#
Calculer et afficher le montant TVAC (
tvac
) sur base du montant HTVA (htva
) et du taux de TVA (taux_tva
).
Utiliser les valeurs ci-dessous:
htva
: 1000taux_tva
: 0.21
htva = 1000
taux_tva = 0.21
tvac = htva * (1+taux_tva)
print(tvac)
1210.0
2.B#
Calculer et afficher le montant HTVA (
htva
) sur base du montant TVAC (tvac
) et du taux de TVA (taux_tva
).
Utiliser les valeurs ci-dessous:
tvac
: 1210taux_tva
: 0.21
tvac = 1210
taux_tva = 0.21
htva = tvac/(1+taux_tva)
print(htva)
1000.0
2.C#
Calculer et afficher le taux de tva (
taux_tva
) sur base du montant TVAC (tvac
) et du montant HTVA (htva
).
Utiliser les valeurs ci-dessous:
tvac
: 1210htva
: 1000
tvac = 1210
htva = 1000
taux_tva = tvac / htva - 1
print(taux_tva)
0.20999999999999996
2.D#
Modifiez le script précédent de manière à afficher un chiffre arrondi à 2 décimales. Utilisez la fonction
round
dans la fonctionprint
.
# calcul du montant HTVA
tvac = 1210.0
htva = 1000.0
taux_tva = (tvac/htva) - 1
print(round(taux_tva, 2))
0.21
2.E#
Calculer et afficher le montant TVAC (
tvac
) sur base du montant HTVA (htva
), du taux de TVA (taux_tva
), et d’un taux de ristourne (taux_ristourne
).
Utiliser les valeurs ci-dessous:
htva
: 1000taux_tva
: 0.21taux_ristourne
: 0.05
Output attendu:
Le prix TVAC est egal a 1149.5
htva = 1000
taux_ristourne = 0.05
taux_tva = 0.21
ristourne = taux_ristourne * htva
htva = htva - ristourne
tva = htva * taux_tva
tvac = htva + tva
print("Le prix TVAC est egal a", tvac)
Le prix TVAC est egal a 1149.5
Exercice 3#
Calculer et afficher l’indice de masse corporelle (
imc
) d’une personne de 75kg mesurant 1m80. Il se calcule grâce à:
Utiliser les valeurs ci-dessous:
poids
: 75taille
: 1.80
poids = 75 # poids en kg
taille = 1.80 # taille en metre
imc = poids / (taille ** 2)
print(round(imc, 2))
23.15
Exercice 4#
Calculer la longueur de l’hypothénuse d’un triangle rectangle à l’aide de la formule de Pythagore:
De cette formule, on peut donc déduire que:
Utiliser les valeurs ci-dessous:
a
: 3b
: 4
a = 3
b = 4
c = (a**2 + b**2)**0.5
print(c)
5.0
Exercice 5#
Calculer les racines d’un polynome du deuxième degré:
Pour calculer les racines d’une fonction, il faut tout d’abord calculer le \(\Delta\):
Ensuite, si le \(\Delta\) est positif, ce qui est le cas dans cet exemple, les deux racines, \(r_1\) et \(r_2\) sont:
Calculer les racines du polynome \(f(x) = x^2 + 3x - 4\). Donc:
a
: 1b
: 3c
: -4
a = 1
b = 3
c = -4
delta = b**2 - 4*a*c
rac1 = (-b - delta**0.5)/(2*a)
rac2 = (-b + delta**0.5)/(2*a)
print("Racine 1:", rac1)
print("Racine 2:", rac2)
Racine 1: -4.0
Racine 2: 1.0
Exercice 6#
Calculer et afficher:
le perimetre d’un carre (
carre_perimetre
)l’aire d’un carre (
carre_aire
)le perimetre d’un rectangle (
rectangle_perimetre
)l’aire d’un rectangle (
rectangle_aire
)le perimetre d’un cercle (
cercle_perimetre
)l’aire d’un cercle (
cercle_aire
)
Le carre possede des côtés de 5cm (carre_cote
)
Le rectangle possede une longueur de 6cm (rectangle_longueur
) et une largeur de 3cm (rectangle_largeur
)
Le cercle possede un rayon de 4cm (cercle_rayon
)
Importer la librairie math
pour avoir acces à la valeur de \(\pi\).
import math
carre_cote = 5
rectangle_longueur = 6
rectangle_largeur = 3
cercle_rayon = 4
carre_perimetre = carre_cote * 4
carre_aire = carre_cote**2
rectangle_perimetre = (rectangle_largeur+rectangle_longueur) * 2
rectangle_aire = rectangle_largeur * rectangle_longueur
cercle_perimetre = 2 * math.pi * cercle_rayon
cercle_aire = math.pi * cercle_rayon**2
print("Carre \tPerim.:", carre_perimetre, "\tAire:", carre_aire)
print("Rect. \tPerim.:", rectangle_perimetre, "\tAire:", rectangle_aire)
print("Cercle \tPerim.:", round(cercle_perimetre, 2), "\tAire:", round(cercle_aire, 2))
Carre Perim.: 20 Aire: 25
Rect. Perim.: 18 Aire: 18
Cercle Perim.: 25.13 Aire: 50.27
Exercice 7#
Convertir une vitesse de 120km/h (
v_kmh
) en une vitesse exprimee en m/s (v_ms
).
v_kmh = 120
v_ms = v_kmh * 1000 / 3600
print(v_kmh, "km/h correspond a", round(v_ms, 2), "m/s.")
120 km/h correspond a 33.33 m/s.
Exercice 8#
Calculer et afficher le montant que vous obtiendrez dans 10 ans si vous placez 5,000€ à 6% sur un compte bancaire. Les intérêts sont composés, donc la formule est:
Utiliser les valeurs ci-dessous:
montant_initial
: 5000taux
: 0.06duree
: 10
montant_initial = 5000
taux = 0.06
duree = 10
montant_final = montant_initial * (1 + taux)**(duree)
print("Montant final", round(montant_final, 2))
Montant final 8954.24