Introduction à l’algorithmique et à la programmation
Cours 1
Anthony Labarre
Université Gustave Eiffel
Avant de commencer
Installez Python 3 (et pas 2) :
installez le packagepython3
téléchargez la dernière version (normalement : 3.8.3) sur https://www.python.org/
Attention : sous Windows, suivez le programme d’installationmais ajoutez python à la variable PATH !
Sans cela, vous ne pourrez pas taperpythondans le terminal.
2 / 37
Aspects pratiques
Organisation :
I 10séances de 2h decours / TD I 12séances de 2h deTP
Evaluation :
I unenote de TP: vous rendezchaque TP, tous seront notés
I unprojetde programmation I unexamen
Ressources :
I http://igm.univ-mlv.fr/~alabarre/teaching.php I une page sur l’intranet de l’UPEM (voir TPs)
Plan d’aujourd’hui
Variables, types et opérations
Instructions et blocs
Instruction conditionnelle (if)
4 / 37
Qu’est-ce que la programmation ?
Programmer : (verbe transitif) “Écrire les pro- grammes informatiques correspondant à l’algo- rithme de résolution d’un problème” (Larousse), fractionner un problème en instructions codifiées acceptables par la machine.
idée(s) code source exécutable
interpréteur
compilation
Pourquoi un langage ?
I L’ordinateur ne comprend que le langage binaire ; I trop difficile pour les humains (en général) ; I pas compatible d’une machine à l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain Est-ce que 210 et 1024 sont égaux ?
humain
2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
6 / 37
Pourquoi un langage ?
I L’ordinateur ne comprend que le langage binaire ; I trop difficile pour les humains (en général) ; I pas compatible d’une machine à l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU humain
Est-ce que 210 et 1024 sont égaux ?
humain 2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
Pourquoi un langage ?
I L’ordinateur ne comprend que le langage binaire ; I trop difficile pour les humains (en général) ; I pas compatible d’une machine à l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain
Est-ce que 210 et 1024 sont égaux ?
humain
2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
6 / 37
Pourquoi un langage ?
I L’ordinateur ne comprend que le langage binaire ; I trop difficile pour les humains (en général) ; I pas compatible d’une machine à l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain
Est-ce que 210 et 1024 sont égaux ?
humain 2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
Introduction sur un exemple
Un exemple de programme enPython 3:
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2020 - annee_naissance
if mois_naissance > 9:
age = age - 1
if mois_naissance == 9 and jour_naissance > 5:
age = age - 1
print("Vous avez", age, "ans")
C’est un programme un peu avancé. . .mais essayons de comprendre ce qu’il fait.
7 / 37
La coloration syntaxique
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2020 - annee_naissance
if mois_naissance > 9:
age = age - 1
if mois_naissance == 9 and jour_naissance > 5:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
I Elle varie selon l’éditeur utilisé ; I Elle rend le programme plus lisible.
La coloration syntaxique
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2020 - annee_naissance
if mois_naissance > 9:
age = age - 1
if mois_naissance == 9 and jour_naissance > 5:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
I Elle varie selon l’éditeur utilisé ;
I Elle rend le programme plus lisible.
8 / 37
La coloration syntaxique
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2020 - annee_naissance
if mois_naissance > 9:
age = age - 1
if mois_naissance == 9 and jour_naissance > 5:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
I Elle varie selon l’éditeur utilisé ; I Elle rend le programme plus lisible.
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher) I des opérateurs enmauve gras:
and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas coloriées ;
9 / 37
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher) I des opérateurs enmauve gras:
and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas coloriées ;
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher)
I des opérateurs enmauve gras: and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas coloriées ;
9 / 37
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher) I des opérateurs enmauve gras:
and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas coloriées ;
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher) I des opérateurs enmauve gras:
and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?"
...
I Nos variables ne sont pas coloriées ;
9 / 37
La coloration syntaxique
I La couleur d’un mot indique sa catégorie ; ici, on a entre autres :
I des fonctions intégrées de Python envert: input= entrée ,int= entier
I des mots-clés de Python envert gras: if= si ,print= imprimer (afficher) I des opérateurs enmauve gras:
and= et
I des chaînes de caractères enrouge:
"Quelle est votre date de naissance?"
...
I Nos variables ne sont pas coloriées ;
L’indentation
if__name__=='__main__':
date=input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance=int(date.split("/")[0]) mois_naissance=int(date.split("/")[1]) annee_naissance=int(date.split("/")[2]) age= 2020 -annee_naissance
ifmois_naissance> 9:
age=age- 1
ifmois_naissance== 9andjour_naissance> 5:
age=age- 1
print("Vous avez", age,"ans")
ILes lignesne commencent pas toutes au même endroit.
ICe n’est pas un détail ! ILe positionnement (on dit l’indentation) des lignes est important pour leur signification.
Modifier l’indentation modifie le comportement du programme — et peut même l’empêcher de fonc- tionner.
10 / 37
La structure d’un programme Python
Les programmes Python doivent êtrestructurés(cf.
modele.pysur la page du cours) : Modèle
def main():
# mon code ici
if __name__ == "__main__":
main()
On expliquera pourquoi plus tard.
Configurez votre éditeur pour qu’il insère au- tomatiquement ce texte dans vos nouveaux fi- chiers.
En résumé
I On a vu unexemple avancéillustrant dans les grandes lignes à quoi ressemble un programme ;
I On a vu
I que les lignes sont des instructions à effectuer,dans l’ordre;
I qu’on peutstockerdes valeurs (dansdate,age, ...) ; I qu’on peut effectuer des calculs (age - 1) ;
I qu’on peut utiliser des fonctions de Python (print,input, int) ;
I que la structure et l’indentation importent ;
I qu’on peut exécuter le programmefichier.pyavec la commandepython3 fichier.py
I ...
I Dans la suite, on va apprendrepas à pasetdans le détail toutes ces notions (et bien d’autres), afin que vous
maîtrisiez les bases de la programmation
12 / 37
Python pas à pas
Variables, types et opérations
Types de valeurs
I Lesvaleurs de basepossèdent untype;
I Letypeva notamment déterminer ce qui se passe quand on fait uneopérationsur des valeurs ;
Les principauxtypes(on en verra d’autres) sont :
Type En Python Exemples
entier int 12, -4, 123545, . . .
flottant float 3.14159, -1.5, 12., 4.56e12, . . .
booléen bool True(vrai) ouFalse(faux)
indéfini, rien None None
chaîne de caractères str 'bonjour','IUT info', . . .
Les majuscules/minuscules sont impor- tantes :
True6=true
14 / 37
Types de valeurs
I Lesvaleurs de basepossèdent untype;
I Letypeva notamment déterminer ce qui se passe quand on fait uneopérationsur des valeurs ;
Les principauxtypes(on en verra d’autres) sont :
Type En Python Exemples
entier int 12, -4, 123545, . . .
flottant float 3.14159, -1.5, 12., 4.56e12, . . .
booléen bool True(vrai) ouFalse(faux)
indéfini, rien None None
chaîne de caractères str 'bonjour','IUT info', . . .
Les majuscules/minuscules sont impor- tantes :
True6=true
Opérations sur les nombres
I Les opérations mathématiques que vous connaissez existent en Python ;
I Le type du résultat dépend du type des données de départ :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat; I On a aussi :
math python exemple
x mod y x%y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
15 / 37
Opérations sur les nombres
I Les opérations mathématiques que vous connaissez existent en Python ;
I Le type du résultat dépend du type des données de départ :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat; I On a aussi :
math python exemple
x mod y x%y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
Opérations sur les nombres
I Les opérations mathématiques que vous connaissez existent en Python ;
I Le type du résultat dépend du type des données de départ :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat;
I On a aussi :
math python exemple
x mod y x%y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
15 / 37
Opérations sur les nombres
I Les opérations mathématiques que vous connaissez existent en Python ;
I Le type du résultat dépend du type des données de départ :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat; I On a aussi :
math python exemple
x mod y x%y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
Opérations sur les booléens
I On a lesopérations logiques sur les booléens:
p q p and q p or q not p False False False False True False True False True True True False False True False True True True True False
I Lescomparaisonsproduisent des booléens : math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
16 / 37
Opérations sur les booléens
I On a lesopérations logiques sur les booléens: p q p and q p or q not p False False False False True False True False True True True False False True False True True True True False
I Lescomparaisonsproduisent des booléens : math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
Opérations sur les booléens
I On a lesopérations logiques sur les booléens: p q p and q p or q not p False False False False True False True False True True True False False True False True True True True False
I Lescomparaisonsproduisent des booléens : math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
16 / 37
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS' I *concatènenexemplaires de la chaîne :
'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes; I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS'
I *concatènenexemplaires de la chaîne : 'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes; I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
17 / 37
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS' I *concatènenexemplaires de la chaîne :
'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes; I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS' I *concatènenexemplaires de la chaîne :
'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes; I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
17 / 37
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS' I *concatènenexemplaires de la chaîne :
'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes;
I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
Opérations sur les chaînes de caractères
I Seuls+et*marchent sur les chaînes ;
I +réalise laconcaténationde deux chaînes : 'IUT' + 'CHAMPS'→'IUTCHAMPS' I *concatènenexemplaires de la chaîne :
'IUT' * 3→'IUTIUTIUT'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphabétique ('a...' < 'b...' < 'c...' < ...) : 'IUT' < 'CHAMPS'→False
I Il existe beaucoup d’autresopérations sur les chaînes; I Et aussi plein de fonctions mathématiques (cos,log, . . . ) ;
17 / 37
Variables
I Unevariableest unnomqui référence une valeur en mémoire ; I On peut s’en servir dans les calculs ;
I Elle a lemême typeque la valeur qu’elle référence ;
Affectation
I L’affectationd’une variable lie unnomà unevaleur;
I La syntaxe :nom= expression, oùexpressionest unevaleur ou uncalculqui produit une valeur ;
Variables
I Unevariableest unnomqui référence une valeur en mémoire ; I On peut s’en servir dans les calculs ;
I Elle a lemême typeque la valeur qu’elle référence ;
Affectation
I L’affectationd’une variable lie unnomà unevaleur;
I La syntaxe :nom= expression, oùexpressionest unevaleur ou uncalculqui produit une valeur ;
18 / 37
Variables
I Unevariableest unnomqui référence une valeur en mémoire ; I On peut s’en servir dans les calculs ;
I Elle a lemême typeque la valeur qu’elle référence ;
Affectation
I L’affectationd’une variable lie unnomà unevaleur;
I La syntaxe :nom= expression, oùexpressionest unevaleur ou uncalculqui produit une valeur ;
Variables
I Unevariableest unnomqui référence une valeur en mémoire ; I On peut s’en servir dans les calculs ;
I Elle a lemême typeque la valeur qu’elle référence ;
Affectation
I L’affectationd’une variable lie unnomà unevaleur;
I La syntaxe :nom= expression, oùexpressionest unevaleur ou uncalculqui produit une valeur ;
18 / 37
Étapes de l’affectation
x = 40 + 2
1. On commence par calculer le membre droit, ici on trouve42
2. Ensuite on crée le nom pourx (sauf s’il a déjà été créé) 3. Enfin on relie lavariableà sa
valeur
En cas deréaffectation, le lien d’avant estperdu:x = -6.5
42
x 42
x 42
x
42 -6.5
×
Étapes de l’affectation
x = 40 + 2
1. On commence par calculer le membre droit, ici on trouve42 2. Ensuite on crée le nom pourx
(sauf s’il a déjà été créé)
3. Enfin on relie lavariableà sa valeur
En cas deréaffectation, le lien d’avant estperdu:x = -6.5
42
x 42
x 42
x
42 -6.5
×
19 / 37
Étapes de l’affectation
x = 40 + 2
1. On commence par calculer le membre droit, ici on trouve42 2. Ensuite on crée le nom pourx
(sauf s’il a déjà été créé) 3. Enfin on relie lavariableà sa
valeur
En cas deréaffectation, le lien d’avant estperdu:x = -6.5
42
x 42
x 42
x
42 -6.5
×
Étapes de l’affectation
x = 40 + 2
1. On commence par calculer le membre droit, ici on trouve42 2. Ensuite on crée le nom pourx
(sauf s’il a déjà été créé) 3. Enfin on relie lavariableà sa
valeur
En cas deréaffectation, le lien d’avant estperdu:x = -6.5
42
x 42
x 42
x
42 -6.5
×
19 / 37
Affectation 6= égalité !
Ce n’est pasdu toutle=des mathématiques. Il faut le lire comme “prend la valeur” :x=x+ 1
Exemple
>>> x = 3
>>> y = x
>>> x = x + 2
>>> x 5
>>> y 3
La situation sera différente pour les “objets modifiables” qu’on verra plus tard.
Nommage
Certainesrèglesdoivent être respectées pour nommer les variables (et les fonctions qu’on verra plus tard) :
I caractères autorisés : abc..., ABC..., 0123..., _ ;
I caractères interdits : tout le reste (et é, è, à, ç, ...) ;
I attention: les chiffres sont permis, mais pas au début ! exemple _ex2 Ex2mpl1 2020IUT
I nomsinterdits : ce qui a déjà été utilisé, ainsi que lesmots réservéset les fonctions prédéfinies de Python (voir suite) ;
21 / 37
Nommage
Certainesrèglesdoivent être respectées pour nommer les variables (et les fonctions qu’on verra plus tard) :
I caractères autorisés : abc..., ABC..., 0123..., _ ; I caractères interdits : tout le reste (et é, è, à, ç, ...) ;
I attention: les chiffres sont permis, mais pas au début ! exemple _ex2 Ex2mpl1 2020IUT
I nomsinterdits : ce qui a déjà été utilisé, ainsi que lesmots réservéset les fonctions prédéfinies de Python (voir suite) ;
Nommage
Certainesrèglesdoivent être respectées pour nommer les variables (et les fonctions qu’on verra plus tard) :
I caractères autorisés : abc..., ABC..., 0123..., _ ; I caractères interdits : tout le reste (et é, è, à, ç, ...) ;
I attention: les chiffres sont permis, mais pas au début ! exemple _ex2 Ex2mpl1 2020IUT
I nomsinterdits : ce qui a déjà été utilisé, ainsi que lesmots réservéset les fonctions prédéfinies de Python (voir suite) ;
21 / 37
Nommage
Certainesrèglesdoivent être respectées pour nommer les variables (et les fonctions qu’on verra plus tard) :
I caractères autorisés : abc..., ABC..., 0123..., _ ; I caractères interdits : tout le reste (et é, è, à, ç, ...) ;
I attention: les chiffres sont permis, mais pas au début ! exemple _ex2 Ex2mpl1 2020IUT
I nomsinterdits : ce qui a déjà été utilisé, ainsi que lesmots réservéset les fonctions prédéfinies de Python (voir suite) ;
Mots réservés
Les mots suivants sontréservéspour le langage :
and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield True False None
Si votre éditeur affiche le nom de votre variable en gras ou en couleur, c’est qu’il s’agit d’un mot réservé⇒choisissez un autre nom !
22 / 37
Au passage ... input
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
I input(str)permet à l’utilisateur de rentrer des valeurs ;
I Ici, on lui demande de rentrer une date ;
I Attention : la fonctioninputrenvoietoujoursdu texte !
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> print(x, "+", y, "=", x + y)
1 + 3 = 13
Au passage ... input
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
I input(str)permet à l’utilisateur de rentrer des valeurs ; I Ici, on lui demande de rentrer une date ;
I Attention : la fonctioninputrenvoietoujoursdu texte !
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> print(x, "+", y, "=", x + y)
1 + 3 = 13
23 / 37
Au passage ... input
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
I input(str)permet à l’utilisateur de rentrer des valeurs ; I Ici, on lui demande de rentrer une date ;
I Attention : la fonctioninputrenvoietoujoursdu texte !
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> print(x, "+", y, "=", x + y)
1 + 3 = 13
Au passage ... input
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
I input(str)permet à l’utilisateur de rentrer des valeurs ; I Ici, on lui demande de rentrer une date ;
I Attention : la fonctioninputrenvoietoujoursdu texte !
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> print(x, "+", y, "=", x + y)
1 + 3 = 13
23 / 37
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci :
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci :
Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
24 / 37
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci : Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci : Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
24 / 37
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci : Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci : Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible;
I float(valeur)convertitvaleuren réelsi possible; I bool(valeur)convertitvaleuren booléen ;
24 / 37
Transtypage (conversion de types)
I Pour convertir ce que nous donneinputen entier, on utilise la fonctionint;
I On peut donc corriger l’exemple précédent comme ceci : Exemple
>>> x = input("Entrez un nombre: ")
Entrez un nombre: 1
>>> y = input("Entrez un deuxième nombre: ")
Entrez un deuxième nombre: 3
>>> x = int(x) # conversion de la chaîne x en entier
>>> y = int(y) # conversion de la chaîne y en entier
>>> print(x, "+", y, "=", x + y)
1 + 3 = 4
I Plus généralement :
I str(valeur)convertitvaleuren chaîne ;
I int(valeur)convertitvaleuren entiersi possible; I float(valeur)convertitvaleuren réelsi possible;
I bool(valeur)convertitvaleuren booléen ;