LANGAGE PYTHON


  • Notions de commentaires

Un commentaire aide le lecteur du code à le comprendre. Les commentaires sont ignorés par l'interpréteur.

Un commentaire qui tient sur une ligne commence par le symbole #, exemple:


# Commentaire: la ligne ci-dessous affiche bonjour à l'écran:

print("Bonjour")


Si on veut saisir des commentaires sur plusieurs lignes on doit encadrer le commentaire par les symboles  '''


''' commentaire: qu'est ce qui est rouge qui monte et qui descend?

Réponse: une tomate dans un ascenseur. '''


  • Variables

Pour stocker une donnée ( comme le nom de l'utilisateur de votre programme) on utilise des variables. Une variable est un mot que l'on associe à un contenu ( la donnée à stocker) .


Le nom d'une variable  peut être constitué de lettres minuscules (a à z), de lettres majuscules (A à Z), de nombres (0 à 9) ou du caractère souligné _ .

Vous ne pouvez pas utiliser d'espace dans un nom de variable, ni commencer le mot par un chiffre et les caractères spéciaux du clavier:  !, @, #, $,%, etc.. ne sont pas autorisés.


Certaines combinaisons de caractères sont interdites parce qu'elles donnent un  mot clé du langage ( un mot clé est un mot réservé qui indique quelque chose de précis à l'interpréteur, la liste des mots réservé est donné ci-dessous:

 


Pour créer l'association entre une variable et une donnée, on utilise l'opérateur d'affectation = :


Exemples:


nom =  "Sélaire"

prénom = 'Jacques'


Les données constituées d'un ou plusieurs caractères sont entourées d'apostrophes simples ou doubles (au choix)  dans le code python.


En français, 'Touille' est un mot, "Tu ne t’appellerais pas Jacques Sélaire toi?" est une phrase et 'a' est un caractère.

En python ce sont des données appelées chaîne de caractères (  chaîne de caractères: une donnée constituée d'une suite de caractères ou d'un seul caractère).


Dans le code python, les chaînes de caractères sont entourées d'apostrophes pour ne pas être confondues avec les variables qui sont les conteneurs des données.


Quand on écrit  nom =  "Sélaire", nom est une variable et  "Sélaire" est une donnée de type chaîne de caractères.


Lorsqu'une chaîne de caractères est affichée à l'écran, ses apostrophes sont automatiquement retirées, elles ne sont présentent que dans le code.

Lorsqu'un programme python vous demande de saisir une chaîne de caractères au clavier, si vous répondez à la question quel est votre nom par exemple, vous ne mettez pas les apostrophes, elles seront automatiquement ajoutées.


  •  Récupération d'une valeur saisie au clavier et affichage d'un message à l'écran



''' Commentaire: l'instruction input(..) récupère votre saisie au clavier et la copie dans la variable placée à gauche du signe d'affectation = '''


print("entrez votre nom:")

nom = input ()

print("entrez votre prénom:")

prénom = input()

print("Bonjour", prénom, nom)


Lors de l'exécution du programme, python a affiché les parties bleues , l'utilisateur a répondu ce qui a renseigné les variables nom et prénom



On peut remplacer la suite d'instructions:


print("Entrez votre nom:")

nom = input ()


par une seule:


nom = input ("Entrez votre nom:")



  • Les instruction de test


En programmation, il arrive souvent de devoir poser des questions auxquelles on répond par oui ou non, pour décider ensuite de faire quelque chose de particulier en fonction de la réponse.


Par exemple, nous pourrions demander à l'utilisateur d'un programme « as-tu moins de 15 ans ? » et si la réponse est oui, lui répondre « désolé mais ce programme n'est pas fait pour toi  ! ».


  • Le test si: if



On codera ça avec un test  " if " ainsi:


# la variable réponse contiendra la valeur saisie dans le input

réponse =  input ("as-tu moins de 15 ans ? ")

if ( réponse != 'non'):

     print( "désolé mais ce programme n'est pas fait pour toi  ! ")


L’instruction est constituée du mot-clé  if , puis d’une condition de test suivie de deux-points ( : ), la condition peut être entourée de parenthèses pour plus de clarté, mais ce n'est pas obligatoire. Une condition compare des choses et le programme doit conclure si le critère de la comparaison est True  ( vrai ) ou False  ( faux). Ici on teste la différence  ce qui demande d'utiliser l'opérateur !=.



    • Les opérateurs de comparaison:


Python utilise des symboles, appelés des opérateurs, pour créer des conditions, comme égal à, plus grand que ou plus petit que. Voici les principaux opérateurs:



Les lignes qui suivent le deux-points, après la condition, doivent former un bloc, si la condition est vraie alors les instructions de ce bloc sont exécutées.


    • Les blocs:


Maintenant, voyons comment écrire des blocs:


Un bloc de code est un ensemble regroupé d’instructions de programmation. Lorsque la condition  if  réponse == 'oui' est vraie, on peut vouloir afficher plusieurs phrases en sautant une ligne après chacune, comme ceci :



réponse =  input ("as-tu moins de 15 ans ? \n")

if (réponse == 'oui'):

    print( 'Tu es trop jeune !')

    print( 'Que fais-tu là ?')

    print( 'Pourquoi ne vas-tu pas jouer aux playmobils ?')



Ce bloc de code est formé de trois instructions  print qui ne seront exécutées que si   la condition " réponse == 'oui' " est vraie. Chacune des lignes du bloc est décalée de quatre espaces vers la droite par rapport à l’instruction "  if  ".


En Python, les caractères d’espacement ont un sens bien déterminé. Les lignes dont le code débute au même emplacement (en retrait du même nombre d’espaces par rapport à la marge gauche) sont regroupées en un bloc ; chaque fois qu'on débute une nouvelle ligne par plus d’espaces que la précédente, on démarre un nouveau sous-bloc.


Nous regroupons ensemble les instructions dans des blocs parce qu’elles s’associent et qu’il faut les exécuter ensemble.

Dans l’exemple suivant, trois blocs séparés sont créés, simplement en changeant le retrait.


On peut gérer des tests multiples avec l'instruction elif  (sinon si) , si toutes les conditions de tests sont fausses, on peut définir le cas else qui sera alors exécuté,


Exemple:


#la variable réponse prendra la valeur saisie au clavier

réponse = input("quelle est la couleur du cheval blanc d'Henri IV?")

# si la variable réponse est égale à blanc ou si la variable réponse est égale à Blanc:

if réponse == 'blanc' or réponse == 'Blanc':

    print(" bien joué!")

    print("au revoir")


# sinon si la variable réponse est égale à BLANC

elif réponse == 'BLANC':

     print(" bien joué!")

     print("au revoir")

# sinon si la variable réponse est égale à white

elif réponse == 'white':

    print("tu te prends pour un Américain ?")

# sinon  

else:

    print("Désolé ce n'est pas la réponse attendue")




  • Structures répétitives: les boucles


 Il existe des structures appelées boucles qui sont utilisées pour répéter un certain nombre de fois un ensemble d'instructions ou les répéter  tant que certaines conditions sont vraies.


  • Boucle  "for" ( boucle bornée)


La boucle basée sur l'instruction for est utilisée quand on connaît  à l'avance le nombre de fois qu'une boucle doit s'exécuter.

.

for x in range (8):  # x in range(8) => x vaut 0,1,2,3,4,5,6,7 soit 8 tours de boucle

    # cette instruction est dans la boucle

    print( "la valeur de x=", x)  

# cette instruction est en dehors de la boucle

print( "Au revoir ")


  • Boucle  "while" ( boucle non bornée)


Quand on ne sait pas combien de tours doit faire la boucle on ne peut pas utiliser une boucle for, dans ce cas on utilise une boucle while. Tant que la condition associée à l'instruction while est vraie, la boucle continue.


Exemple:


# au départ la réponse vaut un mot vide

réponse = ''

# tant que la réponse est différente (!=) de 'blanc'

while réponse != 'blanc':

# la variable réponse prendra la valeur saisie au clavier

réponse = input("quelle est la couleur du cheval blanc d'Henri IV?")

# si la variable réponse est égale (==) à blanc:

if réponse == 'blanc':

    print(" bien joué!")

    print("au revoir")

# sinon  

else:

    print("Désolé ce n'est pas la réponse attendue")



 


  • Modules


Il est possible d'utiliser des instructions écrites par d'autres programmeurs; Ces instructions appelées fonctions sont alors rangées dans des bibliothèques appelées des modules. Vous devez citer le module et importer ses fonctions dans votre programme pour les utiliser.


    • Exemple: le module Turtle que vous utiliserez dans cette activité


Le module turtle permet de contrôler une tortue qui dessine à l'écran. Ce module contient un ensemble d'instructions (des fonctions) qui permettent d'animer la tortue à l'écran:


On peut importer toutes les fonctions du module:


# le signe * veut dire que vous voulez avoir l'accès à toutes les fonctions de la bibliothèque turtle


from turtle import *


On pourrait n'importer que certaines des fonctions du module:


# dans cet exemple on importerait les deux fonctions goto et ht du module

from turtle import goto, ht


  • Fonctions


Une fonction est un bloc d'instructions auquel on a donné un nom. On reconnaît une fonction aux deux parenthèses qui suivent son nom: print(...) est une fonction que vous utilisez souvent, toutes les instructions du module turtle sont des fonctions, vous avez pu remarquer qu'à aucun moment vous avez eu accès aux blocs de code de ces fonctions, c'est le travail de l'interpréteur de lire les blocs d'instructions pour savoir que faire lorsqu'on lui demande l'exécution d'une fonction.




  • Comment écrire une fonction?


Une fonction se déclare avec le mot clé def  suivi de son nom, voici une fonction qui dessine un carré de 50 px avec turtle :


from turtle import *


def dessine_carré_de_cinquante():

    width(3)

    color("red")

    goto(50,0)

    goto(50,50)

    goto(0,50)

    goto(0,0)

   


Pour l'utiliser,  il suffit de l'appeler dans le code comme pour les autres fonctions


dessine_carré_de_cinquante()

left(45)

goto(50, 50)

goto(0,50)

right(45)

goto(50,0)

ht()

   



  • Fonction avec  paramètres


Dans l'exemple précédent, il aurait été mieux que le carré soit de taille réglable, d'épaisseur, de couleur et de position x et y quelconque. Pour ça les valeurs qu'utilisent la fonction devraient être des variables que l'on renseigne lors de l'appel de la fonction, les noms des variables qu'utilisent la fonction sont placés dans les parenthèses séparées par des virgules, lors de la définition de la fonction:


from turtle import *


def dessine_carré (epaisseur, taille, position_x, position_y, couleur ):

    width(epaisseur)

    color(couleur)

    up()

    goto(position_x, position_y)

    down()

    goto(position_x + taille, position_y)

    goto(position_x + taille, position_y + taille)

    goto(position_x, position_y + taille)

    goto(position_x, position_y)

 

# ici on appelle la fonction avec epaisseur = 2, taille=100, position_x=50, position_y=50, couleur= "red"

dessine_carré (2, 100, 50, 50, "red" )

#on lève le stylo

up()

# on va à la coordonnée x=-100 et y = 0

goto(-100,0)

# on baisse le stylo

down()

# ici on appelle la fonction avec epaisseur = 2, taille=100, position_x=-100, position_y=0, couleur= "blue"

dessine_carré (2, 100, -100, 0, "blue" )

#cache la tortue

ht()









Créé avec HelpNDoc Personal Edition: Produire facilement des livres électroniques Kindle