SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
PYTHON
FORMATION DÉBUTANTS
INTRODUCTION
PYTHON : SIMPLE MAIS ÉVOLUÉ
▸ Langage très pratique pour débuter
▸ Pas de problème de compilateur
▸ Pas de typage de données
▸ Mais plutôt évolué
▸ Modèle objet possible
▸ Utilisé dans de nombreux secteurs (en particulier
FinTech) pour son efficacité
INTRODUCTION
NOTIONS DE BASE DE PROGRAMMATION
▸ Quelques notions suffisent pour pouvoir mettre en place
des algorithmes relativement évolués
▸ Variables
▸ Tests
▸ Fonctions
▸ Boucles
INTRODUCTION
VARIABLES
▸ Concept : stocker dans la mémoire de l'ordinateur des
données afin de les réutiliser dans le cadre du programme
▸ Contrairement à des données en base, une variable est
volatile : elle se perd une fois le programme arrêté
▸ Un programme informatique n'est finalement qu'un
traitement de données
▸ Cette notion est donc fondamentale
LES VARIABLES
TYPAGE DE VARIABLES
▸ Les variables suivent les grands types de données utilisées dans
la vie courante :
▸ phrases (on dit "chaînes de caractères")
▸ nombres entiers
▸ nombres à virgule
▸ L'informatique rajoute le type 'booléen' : oui/non, vrai/faux
▸ En Python, ces types ne sont pas explicites, mais sont bien
présents
LES VARIABLES
DÉFINIR UNE VARIABLE EN PYTHON
▸ Il suffit de la nommer et de lui définir un contenu
▸ Le contenu va permettre à Python d'en deviner son type

▸ Une chaîne de caractères se caractérise par des guillemets

a=12
s="Bonjour"
LES VARIABLES
NOMMER UNE VARIABLE
▸ Mieux vaut utiliser des noms explicites
▸ Attention :
▸ pas d'espace
▸ pas de caractère spécial
▸ pas d'accent
s="Bob" mon prénom="Bob"
monPrenom="Bob"✔
𐄂𐄂 mon_prenom="Bob"✔
mon-prenom="Bob"𐄂
LES VARIABLES
MON PREMIER PROGRAMME
▸ Un programme est un fichier texte qui contient diverses
instructions qui se succèdent
▸ Une instruction par ligne
▸ Pas de séparateur style point-virgule
▸ Python peut s'installer sur un poste de travail relativement
facilement
▸ Mais on peut également utiliser des outils en ligne tels que repl.it
qui propose d'éditer et exécuter ses programmes dans un
navigateur, sans aucune exécution
LES VARIABLES
ENTRÉES ET SORTIES
▸ Un programme n'a de sens que s'il interagit avec son
environnement
▸ Avec l'utilisateur, on peut parler d'entrées/sorties :
▸ En entrée, l'utilisateur tape des données au clavier
▸ En sortie, le programme affiche des résultats à l'écran
LES VARIABLES
ENTRÉES ET SORTIES
▸ L'instruction input permet de saisir une donnée au clavier
et de la stocker dans une variable

▸ L'instruction print permet d'afficher une variable, ou un
texte, à l'écran

prenom=input()
print("Bonjour")
print(prenom)
print("Bonjour",prenom)
LES VARIABLES
MON PREMIER PROGRAMME
age=12

print(age)
▸ On peut bien sûr faire des calculs lors des affectations
calcul=10*2+1

print(calcul)
▸ Utiliser plusieurs variables permet de découper son
traitement
prixHT=12

prixTTC=prixHT*1.2

print(prixTTC)
LES VARIABLES
MON PREMIER PROGRAMME, SUITE ET FIN
print("Quel est ton prénom ?")

prenom=input()

print("Bonjour",prenom)
# saisie d'une donnée en entrée 

print("Quel est ton prénom ?")

prenom=input()

# affichage du résultat

print("Bonjour",prenom)
▸ Le caractère # va permettre de commenter son programme, ce
qui est toujours une bonne idée



LES TESTS
SI...ALORS...SINON... TRAITER UNE DONNÉE PAR LES TESTS
▸ Un programme n'a de sens que s'il effectue des
raisonnements
▸ Il va reproduire à grande vitesse des raisonnements
humains qui doivent être précis et sans ambiguïté
▸ La base d'un algorithme s'effectue par le triptyque
"Si...alors...sinon..."
LES TESTS
SI...ALORS...SINON... EN ORGANIGRAMME
QUEL EST TON ÂGE ?
si age>=18
TU PEUX PASSER LE
PERMIS DE CONDUIRE
VOICI UNE
MAGNIFIQUE VOITURE
À PÉDALES
sinon
LES TESTS
ON PEUT ENCHAÎNER LES TESTS EN CASCADE
QUEL EST TON ÂGE ?
si age>=18
TU PEUX PASSER LE
PERMIS DE CONDUIRE
VOICI UNE
MAGNIFIQUE VOITURE
À PÉDALES
sinon
QUEL EST TON ÂGE ?
si age>=14 sinon
LE SCOOTER EST TON
AMI
LES TESTS
LES TESTS EN PYTHON
▸ La syntaxe est la suivante











▸ Attention au caractère "tabulation" qui va permettre de
regrouper les instructions dans un if ou dans un else
if TEST:

➡# traitement effectué 'si'...

➡.....

else:

➡# traitement alternatif

➡.....

# suite du programme
LES TESTS
LES TESTS EN PYTHON
▸ Exemple complet :
# Saisie au clavier

age=input()

# test d'âge

if age>18:

➡print("Tu peux passer le permis")

else:

➡print("Voiture à pédales")

# sera exécuté quoi qu'il arrive

print("Content ?")

LES TESTS
DIFFÉRENTS TYPES DE TEST
▸ Tous les tests de comparaison sont possibles

▸ Attention, le test d'égalité se fait avec deux signes "=="
pour le distinguer du simple "=" d'affectation



▸ "Différent de" s'écrit de la manière suivante :
if a>b: if a>=b: if a<=b: if a<b:
age=12

if age==12:
if a!=b:
TEXTE
TESTS DE CHAÎNES DE CARACTÈRES
▸ On peut uniquement testé l'égalité ou l'inégalité



▸ En revanche, de nombreuses fonctions permettent de
manipuler une chaîne de caractères
▸ Exemple : len() permet d'obtenir la taille en nombre de
caractères d'une chaîne
nom="Bob"

if nom=="Bob":
nom="Bob"

if nom!="Bob":
nom="Bob"

if len(nom)>3:
TEXTE
TESTS MULTIPLES
▸ On peut cumuler les tests avec les opérateurs AND et OR

if a==b AND a!=12:
if prenom=="Bob" AND age>=18:
if age<14 OR age>=18:
LES FONCTIONS
FONCTIONS
▸ But : factoriser du code pour pouvoir le réutiliser
▸ Sorte de “boîte noire” avec des entrées et sorties
▸ Principe de modularité :
▸ On découpe un gros problème en petits problèmes
▸ Une fois qu’un problème est résolu dans une fonction,
on ne s’occupe plus que des entrées et sorties
LES FONCTIONS
STRUCTURE D'UNE FONCTION
# Définition de la fonction

def ma_fonction(entree):

➡# traitement

➡...

➡return sortie

...

# appel de la fonction

retour=ma_fonction(12)

LES FONCTIONS
EXEMPLE CONCRET DE FONCTION
# Définition de la fonction

def calculePrixTTC(prixHT,tauxTVA):

➡prixTTC=prixHT*(1+(tauxTVA/100)

➡return prixTTC

...

# appel de la fonction

print("Saisissez un prix HT")

prixHT_saisi=input()

prixTTC_recu=calculePrixTTC(prixHT_saisi,20)

print("Prix TTC calculé : ",prixTTC_recu)

prixHT_saisi
LES FONCTIONS
UNE BOITE NOIRE
def calculePrixTTC(prixHT,tauxTVA):

➡.... # un traitement

➡return prixTTC

...

# appel de la fonction

prixTTC_recu=calculePrixTTC(prixHT_saisi,20)

FONCTION
calculePrixTTC()
prixTTC_recu
LES BOUCLES
BOUCLES
▸ Une boucle va permettre d'effectuer un traitement
plusieurs fois
▸ Premier type de boucle : "while", ou "tant que"
▸ Syntaxe similaire au if, mais va effectuer le test plusieurs
fois
curseur=0

while curseur<5:

➡print(curseur)

➡curseur=curseur+1

# après la boucle

print("c'est fini !")
0

1

2

3

4

C'est fini !
LES BOUCLES
BOUCLE FOR
▸ Dans certains cas, on peut s'éviter d'avoir à gérer le
curseur
▸ la boucle for intègre cette notion


for curseur in range(5):

➡print(curseur)

# après la boucle

print("c'est fini !")
0

1

2

3

4

C'est fini !
DESSINER AVEC TURTLE
LE LANGAGE TURTLE
▸ A l'origine, un langage pour enfants
▸ Permet de visualiser le résultat de vos algorithmes de
manière graphique
Effacer reset()
Avancer forward(distance)
Reculer backward(distance)
Couleur color(couleur)
Tourner à gauche left(angle)
Tourner à droite right(angle)
DESSINER AVEC TURTLE
EXEMPLE DE CODE TURTLE
# dessin d'un carré

from turtle import *



color('red')

for i in range(4):

forward(50)

right(90)

# dessin d'une étoile

from turtle import *

a=0

while a < 12:

a=a+1

forward(150)

left(150)

▸ Sur repl.it, lancer un projet "Python (with Turtle)"
DESSINER AVEC TURTLE
EXERCICE AVEC TURTLE
▸ Créer une fonction permettant de dessiner une maison
▸ Taille de la maison définie en paramètre d’entrée
▸ Emplacement de la maison tiré au hasard
# positionnement

from turtle import *



turtle.setx(10)

turtle.sety(50)

print(turtle.position())

# tirage au sort

from random import *



nb=random.randint(0,10)



print(nb)


Contenu connexe

Tendances

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSSSamuel Robert
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French CourseHaytam EL YOUSSFI
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionECAM Brussels Engineering School
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesECAM Brussels Engineering School
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Abel LIFAEFI MBULA
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationECAM Brussels Engineering School
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 

Tendances (20)

La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Les bases de l'HTML / CSS
Les bases de l'HTML / CSSLes bases de l'HTML / CSS
Les bases de l'HTML / CSS
 
Python avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiersPython avancé : Lecture et écriture de fichiers
Python avancé : Lecture et écriture de fichiers
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Python For Data Science - French Course
Python For Data Science - French CoursePython For Data Science - French Course
Python For Data Science - French Course
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Python avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exceptionPython avancé : Gestion d'erreurs et mécanisme d'exception
Python avancé : Gestion d'erreurs et mécanisme d'exception
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 

Similaire à Python

Théorie des langages - 03 - Principes et paradigmes
Théorie des langages - 03 - Principes et paradigmesThéorie des langages - 03 - Principes et paradigmes
Théorie des langages - 03 - Principes et paradigmesYann Caron
 
Cours c#
Cours c#Cours c#
Cours c#zan
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptxValdy Ngouabira
 
PAUG 03/05/2016 : Android Studio Rappels
PAUG 03/05/2016 : Android Studio RappelsPAUG 03/05/2016 : Android Studio Rappels
PAUG 03/05/2016 : Android Studio RappelsJacques GIRAUDEL
 
Chapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfChapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfShiniGami0o0
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 

Similaire à Python (20)

Théorie des langages - 03 - Principes et paradigmes
Théorie des langages - 03 - Principes et paradigmesThéorie des langages - 03 - Principes et paradigmes
Théorie des langages - 03 - Principes et paradigmes
 
Cours c#
Cours c#Cours c#
Cours c#
 
Cours programmation
Cours programmation Cours programmation
Cours programmation
 
Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
Theme 7
Theme 7Theme 7
Theme 7
 
Theme2
Theme2Theme2
Theme2
 
Theme2
Theme2Theme2
Theme2
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
langage C++
langage C++langage C++
langage C++
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Theme 6
Theme 6Theme 6
Theme 6
 
Algo poo ts
Algo poo tsAlgo poo ts
Algo poo ts
 
Formation VBA Excel
Formation VBA ExcelFormation VBA Excel
Formation VBA Excel
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
PAUG 03/05/2016 : Android Studio Rappels
PAUG 03/05/2016 : Android Studio RappelsPAUG 03/05/2016 : Android Studio Rappels
PAUG 03/05/2016 : Android Studio Rappels
 
Formation algorithme
Formation algorithmeFormation algorithme
Formation algorithme
 
Chapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdfChapitre 3 - Généralités sur le langage C.pdf
Chapitre 3 - Généralités sur le langage C.pdf
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
algo thrichi.pdf
algo thrichi.pdfalgo thrichi.pdf
algo thrichi.pdf
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 

Plus de Jean David Olekhnovitch (12)

Designs Patterns
Designs PatternsDesigns Patterns
Designs Patterns
 
Internet mobile : conception de sites et d'applications
Internet mobile : conception de sites et d'applicationsInternet mobile : conception de sites et d'applications
Internet mobile : conception de sites et d'applications
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Agilité et Entreprise libérée
Agilité et Entreprise libéréeAgilité et Entreprise libérée
Agilité et Entreprise libérée
 
Télétravail et égilité : un mariage impossible ?
Télétravail et égilité : un mariage impossible ?Télétravail et égilité : un mariage impossible ?
Télétravail et égilité : un mariage impossible ?
 
JAVA, JDBC et liaison base de données
JAVA, JDBC et liaison base de donnéesJAVA, JDBC et liaison base de données
JAVA, JDBC et liaison base de données
 
Java - implémentation des concepts objets
Java - implémentation des concepts objetsJava - implémentation des concepts objets
Java - implémentation des concepts objets
 
Java - notions de bases pour développeur
Java - notions de bases pour développeurJava - notions de bases pour développeur
Java - notions de bases pour développeur
 
Internet mobile
Internet mobileInternet mobile
Internet mobile
 
Ecommerce
EcommerceEcommerce
Ecommerce
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
Plan d'action WAI
Plan d'action WAIPlan d'action WAI
Plan d'action WAI
 

Python

  • 2. INTRODUCTION PYTHON : SIMPLE MAIS ÉVOLUÉ ▸ Langage très pratique pour débuter ▸ Pas de problème de compilateur ▸ Pas de typage de données ▸ Mais plutôt évolué ▸ Modèle objet possible ▸ Utilisé dans de nombreux secteurs (en particulier FinTech) pour son efficacité
  • 3. INTRODUCTION NOTIONS DE BASE DE PROGRAMMATION ▸ Quelques notions suffisent pour pouvoir mettre en place des algorithmes relativement évolués ▸ Variables ▸ Tests ▸ Fonctions ▸ Boucles
  • 4. INTRODUCTION VARIABLES ▸ Concept : stocker dans la mémoire de l'ordinateur des données afin de les réutiliser dans le cadre du programme ▸ Contrairement à des données en base, une variable est volatile : elle se perd une fois le programme arrêté ▸ Un programme informatique n'est finalement qu'un traitement de données ▸ Cette notion est donc fondamentale
  • 5. LES VARIABLES TYPAGE DE VARIABLES ▸ Les variables suivent les grands types de données utilisées dans la vie courante : ▸ phrases (on dit "chaînes de caractères") ▸ nombres entiers ▸ nombres à virgule ▸ L'informatique rajoute le type 'booléen' : oui/non, vrai/faux ▸ En Python, ces types ne sont pas explicites, mais sont bien présents
  • 6. LES VARIABLES DÉFINIR UNE VARIABLE EN PYTHON ▸ Il suffit de la nommer et de lui définir un contenu ▸ Le contenu va permettre à Python d'en deviner son type
 ▸ Une chaîne de caractères se caractérise par des guillemets
 a=12 s="Bonjour"
  • 7. LES VARIABLES NOMMER UNE VARIABLE ▸ Mieux vaut utiliser des noms explicites ▸ Attention : ▸ pas d'espace ▸ pas de caractère spécial ▸ pas d'accent s="Bob" mon prénom="Bob" monPrenom="Bob"✔ 𐄂𐄂 mon_prenom="Bob"✔ mon-prenom="Bob"𐄂
  • 8. LES VARIABLES MON PREMIER PROGRAMME ▸ Un programme est un fichier texte qui contient diverses instructions qui se succèdent ▸ Une instruction par ligne ▸ Pas de séparateur style point-virgule ▸ Python peut s'installer sur un poste de travail relativement facilement ▸ Mais on peut également utiliser des outils en ligne tels que repl.it qui propose d'éditer et exécuter ses programmes dans un navigateur, sans aucune exécution
  • 9. LES VARIABLES ENTRÉES ET SORTIES ▸ Un programme n'a de sens que s'il interagit avec son environnement ▸ Avec l'utilisateur, on peut parler d'entrées/sorties : ▸ En entrée, l'utilisateur tape des données au clavier ▸ En sortie, le programme affiche des résultats à l'écran
  • 10. LES VARIABLES ENTRÉES ET SORTIES ▸ L'instruction input permet de saisir une donnée au clavier et de la stocker dans une variable
 ▸ L'instruction print permet d'afficher une variable, ou un texte, à l'écran
 prenom=input() print("Bonjour") print(prenom) print("Bonjour",prenom)
  • 11. LES VARIABLES MON PREMIER PROGRAMME age=12
 print(age) ▸ On peut bien sûr faire des calculs lors des affectations calcul=10*2+1
 print(calcul) ▸ Utiliser plusieurs variables permet de découper son traitement prixHT=12
 prixTTC=prixHT*1.2
 print(prixTTC)
  • 12. LES VARIABLES MON PREMIER PROGRAMME, SUITE ET FIN print("Quel est ton prénom ?")
 prenom=input()
 print("Bonjour",prenom) # saisie d'une donnée en entrée 
 print("Quel est ton prénom ?")
 prenom=input()
 # affichage du résultat
 print("Bonjour",prenom) ▸ Le caractère # va permettre de commenter son programme, ce qui est toujours une bonne idée
 

  • 13. LES TESTS SI...ALORS...SINON... TRAITER UNE DONNÉE PAR LES TESTS ▸ Un programme n'a de sens que s'il effectue des raisonnements ▸ Il va reproduire à grande vitesse des raisonnements humains qui doivent être précis et sans ambiguïté ▸ La base d'un algorithme s'effectue par le triptyque "Si...alors...sinon..."
  • 14. LES TESTS SI...ALORS...SINON... EN ORGANIGRAMME QUEL EST TON ÂGE ? si age>=18 TU PEUX PASSER LE PERMIS DE CONDUIRE VOICI UNE MAGNIFIQUE VOITURE À PÉDALES sinon
  • 15. LES TESTS ON PEUT ENCHAÎNER LES TESTS EN CASCADE QUEL EST TON ÂGE ? si age>=18 TU PEUX PASSER LE PERMIS DE CONDUIRE VOICI UNE MAGNIFIQUE VOITURE À PÉDALES sinon QUEL EST TON ÂGE ? si age>=14 sinon LE SCOOTER EST TON AMI
  • 16. LES TESTS LES TESTS EN PYTHON ▸ La syntaxe est la suivante
 
 
 
 
 
 ▸ Attention au caractère "tabulation" qui va permettre de regrouper les instructions dans un if ou dans un else if TEST:
 ➡# traitement effectué 'si'...
 ➡.....
 else:
 ➡# traitement alternatif
 ➡.....
 # suite du programme
  • 17. LES TESTS LES TESTS EN PYTHON ▸ Exemple complet : # Saisie au clavier
 age=input()
 # test d'âge
 if age>18:
 ➡print("Tu peux passer le permis")
 else:
 ➡print("Voiture à pédales")
 # sera exécuté quoi qu'il arrive
 print("Content ?")

  • 18. LES TESTS DIFFÉRENTS TYPES DE TEST ▸ Tous les tests de comparaison sont possibles
 ▸ Attention, le test d'égalité se fait avec deux signes "==" pour le distinguer du simple "=" d'affectation
 
 ▸ "Différent de" s'écrit de la manière suivante : if a>b: if a>=b: if a<=b: if a<b: age=12
 if age==12: if a!=b:
  • 19. TEXTE TESTS DE CHAÎNES DE CARACTÈRES ▸ On peut uniquement testé l'égalité ou l'inégalité
 
 ▸ En revanche, de nombreuses fonctions permettent de manipuler une chaîne de caractères ▸ Exemple : len() permet d'obtenir la taille en nombre de caractères d'une chaîne nom="Bob"
 if nom=="Bob": nom="Bob"
 if nom!="Bob": nom="Bob"
 if len(nom)>3:
  • 20. TEXTE TESTS MULTIPLES ▸ On peut cumuler les tests avec les opérateurs AND et OR
 if a==b AND a!=12: if prenom=="Bob" AND age>=18: if age<14 OR age>=18:
  • 21. LES FONCTIONS FONCTIONS ▸ But : factoriser du code pour pouvoir le réutiliser ▸ Sorte de “boîte noire” avec des entrées et sorties ▸ Principe de modularité : ▸ On découpe un gros problème en petits problèmes ▸ Une fois qu’un problème est résolu dans une fonction, on ne s’occupe plus que des entrées et sorties
  • 22. LES FONCTIONS STRUCTURE D'UNE FONCTION # Définition de la fonction
 def ma_fonction(entree):
 ➡# traitement
 ➡...
 ➡return sortie
 ...
 # appel de la fonction
 retour=ma_fonction(12)

  • 23. LES FONCTIONS EXEMPLE CONCRET DE FONCTION # Définition de la fonction
 def calculePrixTTC(prixHT,tauxTVA):
 ➡prixTTC=prixHT*(1+(tauxTVA/100)
 ➡return prixTTC
 ...
 # appel de la fonction
 print("Saisissez un prix HT")
 prixHT_saisi=input()
 prixTTC_recu=calculePrixTTC(prixHT_saisi,20)
 print("Prix TTC calculé : ",prixTTC_recu)

  • 24. prixHT_saisi LES FONCTIONS UNE BOITE NOIRE def calculePrixTTC(prixHT,tauxTVA):
 ➡.... # un traitement
 ➡return prixTTC
 ...
 # appel de la fonction
 prixTTC_recu=calculePrixTTC(prixHT_saisi,20)
 FONCTION calculePrixTTC() prixTTC_recu
  • 25. LES BOUCLES BOUCLES ▸ Une boucle va permettre d'effectuer un traitement plusieurs fois ▸ Premier type de boucle : "while", ou "tant que" ▸ Syntaxe similaire au if, mais va effectuer le test plusieurs fois curseur=0
 while curseur<5:
 ➡print(curseur)
 ➡curseur=curseur+1
 # après la boucle
 print("c'est fini !") 0
 1
 2
 3
 4
 C'est fini !
  • 26. LES BOUCLES BOUCLE FOR ▸ Dans certains cas, on peut s'éviter d'avoir à gérer le curseur ▸ la boucle for intègre cette notion 
 for curseur in range(5):
 ➡print(curseur)
 # après la boucle
 print("c'est fini !") 0
 1
 2
 3
 4
 C'est fini !
  • 27. DESSINER AVEC TURTLE LE LANGAGE TURTLE ▸ A l'origine, un langage pour enfants ▸ Permet de visualiser le résultat de vos algorithmes de manière graphique Effacer reset() Avancer forward(distance) Reculer backward(distance) Couleur color(couleur) Tourner à gauche left(angle) Tourner à droite right(angle)
  • 28. DESSINER AVEC TURTLE EXEMPLE DE CODE TURTLE # dessin d'un carré
 from turtle import *
 
 color('red')
 for i in range(4):
 forward(50)
 right(90)
 # dessin d'une étoile
 from turtle import *
 a=0
 while a < 12:
 a=a+1
 forward(150)
 left(150)
 ▸ Sur repl.it, lancer un projet "Python (with Turtle)"
  • 29. DESSINER AVEC TURTLE EXERCICE AVEC TURTLE ▸ Créer une fonction permettant de dessiner une maison ▸ Taille de la maison définie en paramètre d’entrée ▸ Emplacement de la maison tiré au hasard # positionnement
 from turtle import *
 
 turtle.setx(10)
 turtle.sety(50)
 print(turtle.position())
 # tirage au sort
 from random import *
 
 nb=random.randint(0,10)
 
 print(nb)