1-     Affectation en Python

 

En programmation, nous avons besoin de stocker des éléments, de les mettre en mémoire. Pour cela, on procède à l'affectation d'une variable par une donnée.

Remarque : un commentaire commence par le symbole dièse #

# il n'est pas pris en compte par l'interpréteur, il n'est lu que #par le programmeur et l'utilisateur :

 

Propriété 1:   Affectation

En Python, l'affectation se réalise avec l'opérateur =

Exemple 1 :    le script :

a =5             # met en mémoire l'entier 5 dans la variable a

a="easy"         # met en mémoire la chaine de caractère "easy" dans la

                                 variable a

 

Exercice 1 :    Que vaut a à la fin de ce script :

a=1

b=-1

a=a*b

a=a+b

 

On va faire ce qu'on appelle une trace d'exécution c'est quelque chose qui est

Ligne i

a

b

1

1

/

2

1

-1

3

-1

-1

4

-2

 

Exercice 2:   Quel nombre est stocké dans la variable a à la fin de ce script :

 

a=5

a=2*a

b=2*a

a=a*a

a=a-b+1

 

 

 

2-     Affichage en python

 


Propriété 2 :   
Affichage

Une chaîne de caractères correspond à un texte pouvant contenir différents symboles.

En Python, une chaîne de caractères est le contenu délimité par "".

Pour afficher une chaine de caractère (= du texte) en python on utilise la fonction print()

Exemple 2 :Testez ces différents scripts :

  1.  

print("Vivement les vacances !")

2

prenom="Bob"

print("Mon prénom est :",prenom)

 

Exercice 3 :

Réaliser un script qui contient trois variables : prenomnom et age et qui doit afficher :

"Bonjour je m'appelle Luke Skywalker, j'ai 58 ans. "

Si vous n'êtes pas luke, vous pouvez indiquer vos coordonnées

print(a)# Affiche la valeur de la variable a si elle existe

print("a")# Affiche la lettre « a »

print("La valeur de a est :",a) # Affichage mixte (texte et valeurs)

 

 

3-     Dialogue avec l'utilisateur

 


Propriété 3 :    
input

La fonction  input  permet d'ouvrir une boite de dialogue et de récupérer une information saisie par l'utilisateur

Remarque : L'information récupérée grâce à un input   est une chaîne de caractères.

Exemple 3 :

prenom=input("quel est ton prénom?")

print(prenom)

 

Exercice 4:  Ecrire un script en Python qui demande à l'utilisateur, son prénom, son nom et son âge et qui réalise un affichage comme dans l'exercice 2.

Comme l'information récupérée grâce à un  input   est une chaîne de caractères, il va falloir changer le type de la variable pour permettre d'effectuer des calculs avec.

Exercice 5 :  Un boulanger désire un programme qui demande à l'utilisateur le nombre de baguettes qu'il désire, qui calcule le prix total (sachant qu'une baguette coûte 1.10 €) et qui affiche le prix que l'utilisateur doit payer.

         1-   Testez le script suivant :

 

nombre=input("Combien de baguettes désirez-vous ?")

prix = nombre * 1.1

print("Vous avez à payer",prix,"euros.")

 

        2-   Quel message d'erreur obtenez-vous ?

        3-   Testez le script suivant :

nombre=int(input("Combien de baguettes désirez-vous ?"))

prix = nombre * 1.1

print("Vous avez à payer",prix,"euros.")

         4-   Quelle est la différence avec le code précédent de cet exemple ?

 

Propriété 4 :     L'instruction  int  permet de changer certaines chaînes de caractères en un nombre entier.
L'instruction 
float  permet de changer certaines chaînes de caractères en un flottant, c'est-à-dire un "nombre à virgule".

 

Exercice 6 :  L'Indice de Masse Corporelle (IMC) est un indicateur chiffré utilisé en médecine. L'IMC d'une personne est donné par la formule    où la masse est en kilos et la taille en mètres.

Remarque : Proposez un algorithme qui demande à l'utilisateur sa taille et sa masse puis qui affiche l'IMC de la personne.

Pensez à écrire un texte clair à destination de l'utilisateur pour qu'il sache quoi saisir.

 

 

 

4-     Fonction en Python

Une fonction en informatique est un peu comme une fonction en maths. Elle prend un ensemble d'argument et renvoie quelque chose.

Propriété 4 :   Définir une fonction en Python

La syntaxe pour définir une fonction en Python est celle-ci :

def nomDeLaFonction(argument1,argument2...):

     instruction 1

     instruction 2

     .

     .

     .

       return retourDeLaFonction

 

Exemple 4 :

1-   Prenons la fonction f : x

 

Si vous voulez implémenter cette fonction en Python, il suffira d'écrire :

def f(x):

return x**2

Pour calculer l'image de 1 , en maths on calcule f(1) , en Python c'est pareil !

Testez :

f(1)

 

2-   Testez aussi le code suivant :

def somme(a,b):

     return a+b

Remarque :

Dans une fonction on peut faire appel à d'autre fonction.

Tester cette fonction :

def f(a,b):

     a=somme(a,b)

     b=multiplication(a,b)

     return somme(a,b)

 

Donner l'expression de f en fonction de a et de b.

Exercice 7 :

Ecrire une fonction multiplication(a,b) qui renvoie la multiplication de a par b.

 

 

5-     Instruction conditionnelle en Python

 

Propriété 5 : Les tests en Python

Voila une liste d'opérateurs pour tester deux éléments :

  • Pour tester l'égalité deux éléments : 

a==b renvoie True si a et b sont égaux, False sinon.

  • Pour tester la différence deux éléments : 

a!=b renvoie True si a est différent de b et False sinon.

  • Pour tester la comparaison deux éléments :

 a <b renvoie True si a < b et False sinon.

Chaque utilisation de ces tests renvoie une variable qui ne peut prendre que deux valeurs booléenne :  True  ou False   ; On parle alors de booléen.

Remarque :

Attention à ne pas confondre :

  •  a=2   qui stocke la valeur 2 dans la variable a.
  • a==2  qui teste si a est égal à l'entier 2 ou pas.

Exemple :

Exécutez le code suivant pour visualiser la différence entre affectation et test d'é #

1

2

3

4

5

6

# affectation avec =

a = 4

print("a=",a)

# test d'égalité avec ==

print("Est-il vrai que a=3 ?",a == 3)

print("Est-il vrai que a=4 ?",a == 4)

 

 

Propriété 6 :   La structure conditionnelle "if"

En Python, voici la structure :

if condition :

      instruction(s) à effectuer dans le cas où la condition est remplie

else :

      instruction(s) à effectuer dans la cas contraire

 

Remarque :

Le bloc  else  n'est pas obligatoire

Vous remarquerez le symbole  :   très important en Python qui marque le début d'un bloc.

C'est l’indentation (=décalage) qui délimite le bloc d'instructions

Voici un exemple :

a=float(input("Entrer un nombre réel : "))

if a>=0 :

    print("Vous avez entré un nombre positif ou nul",a)

else :

    print("Vous avez entré un nombre négatif",a)

 

Vous pouvez tester directement ce programme. En appuyant sur la touche Next>, vous visualiserez le fait que l'interpréteur du code ne traite que l'instruction du   if  ou celle du  else suivant si la condition est remplie ou non

testez

Exercice 8 :

Qu'affiche le programme de l'exemple dans chacun des cas suivants :

1.     Avec a=8 ?

2.     Avec a=-6 ?

3.     Avec a=0 ?

4.     Avec a="positif" ?

Exemple :

On peut détailler l'exemple précédent ainsi en trois cas distinctions par imbrications de deux instructions conditionnelles :

a=float(input("Entrer un nombre réel : "))

if a>0:

    print("Vous avez entré un nombre strictement positif",a)

else: # ici, on est dans le cas où a<= 0

    if a==0:

        print("Vous avez entré un nombre nul",a)

    else: # ici, on est dans le cas où a<=0 et a!=0 donc où a<0

        print("Vous avez entré un nombre négatif",a)

 

Il est possible de simplifier l'écriture de ces imbrications en utilisant le mot clé elif qui est la contraction de else if.

 

Propriété 7 :   La structure elif :

if condition1 :

     instruction(s)

elif condition2 :

     instruction(s)

elif condition3 :

     instruction(s)

else :

     instruction(s)

 

Exemple 5 :

a=float(input("Entrer un nombre : "))

if a>0 :

    print("Vous avez entré un nombre strictement positif",a)

elif a==0 :

    print("Vous avez entré un nombre nul",a)

else :

    print("Vous avez entré un nombre strictement négatif",a)

 

Exercice 9 :Écrire un programme qui :

  • Demande l'âge d'une personne,
  • Affiche si la personne est majeure où mineure.

Exercice 10 :

Ecrire une fonction signe_prod(a,b) qui reçoit deux entiers a et b relatifs et qui renvoie True si le produit de a par b est positif et False sinon. Attention : on ne doit pas calculer le produit des deux nombres.

 

 

6-     Boucle itérative :  pour/for      avec une variable

 

Propriété 8:      La structure "for" avec   range

Voici la structure en Python d'une boucle répétitive for avec range

for i in range(n):

     instruction 1

     Instruction 2

     ...

 

Dans cette boucle i prendra les valeurs de 0 à n-1.

Toutes les instructions dans la boucle seront appliquées pour chaque valeur de i.

Dans cette structure, on connait à l'avance le nombre de répétitions. Dans notre cas, il est égal à n.

Exemple 6 :

Cette boucle fait le calcul : 0+1+2+3+...+10

s=0

for i in range(11):

    s=s+i

print(s)

 

Vous pouvez visualiser les différentes étapes de calcul mises en œuvre par cet algorithme par ici

 https://pythontutor.com/visualize.html#mode=edit

Plus généralement, lors de l'instruction for  for i in range(m,n) , où  m et n sont deux entiers tels que n>m  ,  i  prend toutes les valeurs entières entre m   et n-1

Exercice 11 : Ecrire une fonction somme(n) où n est un entier qui renvoie la valeur de la somme 1+2+3+...+n.

Exercice 12 :

Ecrire une fonction somme_carrée(n) où n est un entier qui renvoie la valeur de 1^2+2^2+...+n^2.

 

 

7-     Sur un objet itérable

Propriété 9:  La structure "for" avec in

Voici la structure en Python d'une boucle for avec in

for elt in variable:

         instruction 1

         instruction 2

         ...

                         

 

 

Dans cette boucle, elt va parcourir les éléments de la variable.

La variable peut être une liste, une chaine de caractères.

Une liste en Python est une suite d'éléments entre [ et ] séparés par des ,.

Exemple 7 :     Cette boucle affiche chaque élément d'une liste

liste=["un",2,3,8,"serpent"]

for elt in liste:

         print(elt)

Exercice 13 :

Tester le script ci-dessus et modifier la liste avec une liste contenant d'autres éléments.

Exemple 8 :Un autre exemple avec une chaine de caractères. Le langage python transforme une chaine de caractères en une liste d'éléments.

Tester le code suivant :

citation="On ne saura plus rien, à l'époque où on croira tout savoir."

for lettre in citation:

         print(lettre)

 

 

Exercice 14 :  Que fait le code suivant :

citation="On ne saura plus rien, à l'époque où on croira tout savoir."

compteur=0

for lettre in citation:

         if lettre=="e":

                 compteur=compteur+1

print(compteur)

        

 

 

Transformer le code pour qu'il compte le nombre de i.

 

8-     Boucle itérative : while

 

Propriété 10:   La structure while

Voici la structure en Python d'une boucle while

while condition:

         instruction 1

         instruction 2

         ...

 

Tant que la condition est vraie les instructions du bloc sont exécutées.

Dans cette structure, on ne connait pas à l'avance le nombre de répétitions.

Exemple 9:

Une balle part d'une hauteur de 2 mètres et perd 10% de sa hauteur à chaque rebond. On cherche le nombre de rebonds pour la balle atteigne un maximum de 1,5 mètre de hauteur. Ce problème (on parle de problème de seuil) peut être traité en python par le script suivant :

hauteur=2

rebond=0

 

while hauteur>1.5:

    rebond=rebond+1

    hauteur=hauteur*0.9

 

print(rebond)

 

Tester ce script

Modifier les valeurs pour que la balle démarre à une hauteur de 3 mètres et atteigne la hauteur de 2 m.

 

Exercice 15 :

Une cuve d'eau à une contenance de 1000L. En moyenne la cuve d'eau se remplis de 3L d'eau par jours. Ecrire une fonction remplir() qui renvoie le nombre jours qu'il faudra pour remplir la cuve.