• Aucun résultat trouvé

Introduction à l’algorithmique et à la programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction à l’algorithmique et à la programmation"

Copied!
101
0
0

Texte intégral

(1)

Introduction à l’algorithmique et à la programmation

Cours 1

Anthony Labarre

Université Gustave Eiffel

(2)

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

(3)

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)

(4)

Plan d’aujourd’hui

Variables, types et opérations

Instructions et blocs

Instruction conditionnelle (if)

4 / 37

(5)

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

(6)

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

(7)

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, ...) ;

(8)

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

(9)

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, ...) ;

(10)

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

(11)

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.

(12)

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

(13)

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.

(14)

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

(15)

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 ;

(16)

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

(17)

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 ;

(18)

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

(19)

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 ;

(20)

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

(21)

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.

(22)

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

(23)

Python pas à pas

Variables, types et opérations

(24)

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

(25)

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

(26)

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 % 43 xy x ** y 3 ** 327 bx/yc x // y 19 // 44

15 / 37

(27)

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 % 43 xy x ** y 3 ** 327 bx/yc x // y 19 // 44

(28)

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 % 43 xy x ** y 3 ** 327 bx/yc x // y 19 // 44

15 / 37

(29)

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 % 43 xy x ** y 3 ** 327 bx/yc x // y 19 // 44

(30)

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 ab? a <= b ab? a >= b

math python a6=b? a != b a<b? a < b a>b? a > b

16 / 37

(31)

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 ab? a <= b ab? a >= b

math python a6=b? a != b a<b? a < b a>b? a > b

(32)

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 ab? a <= b ab? a >= b

math python a6=b? a != b a<b? a < b a>b? a > b

16 / 37

(33)

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, . . . ) ;

(34)

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

(35)

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, . . . ) ;

(36)

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

(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, . . . ) ;

(38)

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

(39)

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 ;

(40)

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

(41)

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 ;

(42)

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

(43)

É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

×

(44)

É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

(45)

É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

×

(46)

É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

(47)

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.

(48)

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

(49)

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) ;

(50)

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

(51)

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) ;

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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 ;

(58)

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

(59)

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 ;

(60)

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

(61)

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 ;

(62)

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

(63)

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 ;

Références

Documents relatifs

5 - Faire le lien entre un polynôme du second degré et sa courbe représentative 6 - Déterminer l’expression d’un polynôme du second degré à partir de données 7 - Reconnaître

En utilisant la fonction table de la calculatrice et en justifiant, affiner les valeurs de x 1 et x 2 : trouver pour chacune un encadrement au dixième près, puis un en- cadrement

En utilisant la fonction table de la calculatrice et en justifiant, affiner les valeurs de x 1 et x 2 : trouver pour chacune un encadrement au dixième près, puis un en- cadrement

Le modèle électrique &#34;grossier&#34; d'un moteur asynchrone tournant à vide est représenté sur le schéma ci-contre :. Démarrer le logiciel de simulation ISIS et réaliser le

En général, la notation |.| n'a pour utilité que de simplier la dénition d'une fonction. Fonction

Sur une droite munie d’un repère normé (O;

Toutefois, la phrase simple qui est la structure la plus employée (17f) se trouve majoritairement (6f) dans le paragraphe relatif à l’annonce de la mort de Ben Du Toit.

Celle de Mouehot- Vallès me semblait l'être du moment où j'ai lu à la page i3o, de l'Ouvrage cité « qu'élever une vectrice à la puissance i, c'est la convertir en une autre