Exercices corrigés en Python pour les débutants: entrées, calcul, sorties

Exercices corrigés en Python pour les débutants: entrées, calcul, sorties

Les entrées sorties en Python

Les entrées sont les informations introduites par l'utilisateur, généralement au clavier. La sortie d'un programme peut être présentée de différentes manières : l'affichage sur l'écran est la méthode la plus commune pour les débutants en Python. Le résultat peut être enregistrée dans un fichier pour une utilisation ultérieure, ou imprimé ou même envoyé dans un mail.
Il est très utile de pouvoir demander à l'utilisateur de saisir une chaîne de caractères dans un logiciel.
Python propose une commande pour cela : input(). La commande principale pour afficher une sortie est print().

La fonction input() en python

L'instruction Python input() permet de saisir une chaine, c'est pour celà que si l'utilisateur saisie au clavier 2030, alors la donnée reçue sera "2030". Si l'utilisateur souhaire saisir un nombre, un entier par exemple, alors il doit utiliser la fonction int()

Pour mieux expliquer la fonction input(), examiner l'exemple suivant : 

nombre1 = input("donner un nombre : ")

nombre2 = input("donner un autre nombre : ")

somme = nombre1 + nombre2

print(somme)

Lorsque le programme demande les deux entrées, et que l'utilisateur donne au clavier les deux valeurs 4 et 5.
La somme, nommée somme, sera calculée. On attend le résultat, la somme, d'être égale à 9. Mais ça sera :

>>> %Run 'somme1.py'

donner un nombre : 4

donner un autre nombre : 5

Cet exemple sera expliqué d'avantage plus bas dans la page (Exercice : calculer la somme de deux entiers en Python)

La fonction print() en python

print() est la commande d'impression principale en Python.(print est imprimer en anglais, imprimer sur l'écran. Elle permet d'afficher des informations : des chaînes de caractères et des valeurs stoquées dans des variables.
Exemple pour mieux expliquer la fonction print() : 

#mettre la valeur 20 dans un objet nommé nombre :

nombre = 20

#afficher une chaine en Python :

print("entrée/sortie python")


#afficher un nombre, le résultat sera 20 :

print(nombre)


#afficher une chaine et la valeur d'un nombre, le résultat sera nombre = 20
print("nombre =", nombre)

print(f"nombre = {nombre}")


#affiche une opération de calcul, le résultat affiché sera 40

print(nombre * 2)



Exercice 0 : Hello world en Python

Ecrire un programme en Python qui permet de lire au clavier le prénom d'une personnes puis affiche "Salut" suivi du prénom. Par exemple si je saisie Alice alors le programme affichera "Salut Alice".
Exemple d'exécution : 

>>> %Run 'hello alice.py'

Comment tu t'appelles ? : Matilda

Salut Matilda


Proposition de correction de l'exercice : hello world

pren = input ("Comment tu t'appelles ? : ")

print ("Salut", pren)


  • L'instruction Python qui permet de saisir une donnée est input.

  • Pour afficher un résultat, j'utilise print.

  • Le message affiché dans le résultat retourné dans print est entre " et " : "Salut". Ce message ne change pas : Salut Bob, Salut Carol, Salut Dave, etc

  • Les messages peuvent être insérées entre 'simple' ou "double" quotes.

  • Python considère le prénom pren comme un mot, une chaine, str.




Exercice : calculer la somme de deux entiers en Python

Ecrire un programme en Python qui permet de lire au clavier deux entiers a et b puis calculer et afficher leur somme s. Par exemple si je donne a = 2 et b = 3 alors la somme s sera 5.
Exemple d'exécution : 

>>> %Run 'somme de deux nombres.py'

donnez un nombre : 33

donnez un autre nombre : 44

la somme est 77


Proposition de correction de l'exercice :

a = int(input ("donnez un nombre : "))

b = int(input ("donnez un autre nombre : "))

s = a + b

print ("la somme est", s)


A noter, input permet de saisir une chaine, c'est à dire si je donne 2030 au clavier alors Python considère 2030 comme un mot ("2030"), non pas un nombre.
Le problème qui se pose est le suivant : si je veux calculer la somme de 6 et 7 alors le programme affichera la somme est 67, car Python considère 6 et 7 comme des chaines : "6" et "7", tout comme "Salut" et "Bob".
La solution sera d'utiliser le mot int, il signifie integer, entier. C'est un nombre sans virgule : 10 est un entier, 21 aussi.
1.5 n'est pas entier, c'est un réel, float.


Exercice : Calculer la moyenne d'un élève evec Python

Écrire un programme qui permet de saisir la note de contrôle puis la note de synthèse puis calculer et afficher la moyenne d’un élève.
Exemple d'exécution : 

>>> %Run 'moyenne eleve.py'

donner la note de controle

14

donner la note de synthèse

15

la moyenne est 14.67


Proposition de correction de l'exercice : calculer la moyenne

controle = float(input("donner la note de controle\n"))

synthese = float(input("donner la note de synthèse\n"))

moyenne = (controle + synthese * 2) / 3

print(f"la moyenne est {moyenne:.2f}")


Remarque:
  • Examiner la première ligne, le caractère \n permet d'insérer un retour à la ligne, c-à-d que la note tapée au claviers sera dans la ligne suivante.
  • La dernière ligne : print(f"la moyenne est {moyenne:.2f}"), permet d'afficher la moyenne avec deux chiffres après la virgule. Noter f au debut, les accolades et les points.
    La forme la plus simple est : print("la moyenne est", moyenne)
  • Ajouter le nécessaire pour calculer la moyenne d'un élève qui a trois notes : controle, synthèse et note de TP.


Exercice : Calculer la surface d'un cercle avec Python

Écrire un programme pour calculer et afficher la surface d’un cercle dont le rayon est donné. 
Exemple d'exécution : 

>>> %Run 'surface cercle.py'

donner le rayon en cm

2

la surface est 12.57 cm²


La formule qui permet de calculer la surface d'un cercle est : rayon² * π, je peux utiliser une valeur approchée de pi : 3.14, mais ça sera plus précis, plus pro, d'utiliser pi, non pas 3.14. Mais je doit insérer la ligne from math import pi.
Pour calculer xy  je peux utiliser la notation x**y.

Proposition de correction de l'exercice : calcul de la surface d'un cercle

from math import pi

rayon = int(input("donner le rayon en cm\n"))

surface = rayon**2*pi

print(f"la surface est {surface:.2f} cm²")



Exercice : calculer le prix total en Python

Écrire un programme en Python qui permet de saisir le prix unitaire d’un produit et la quantité acheté puis calculer et afficher le prix total.
Les données sont le prix unitaire et la quantité (à saisir avec input, il faudra indiquer le type, float)
La formule qui permet de calculer le prix total est : prix unitaire * quantité
le résultat sera d'afficher le prix total, à utiliser : print.

Proposition de correction de l'exercice : prix total

pu = float(input("donner le prix unitaire : "))

q = float(input("donner la quantité : "))

pt = pu * q

print("le prix total est",pt)



Exercice : calculer la vitesse d'une voiture en Python

Écrire un programme enPython qui permet de saisir la distance parcourue par une voiture (km) et la durée du voyage (h) puis calculer et afficher la vitesse moyenne de la voiture.

>>> %Run 'vitesse voiture.py'

donner la distance : 500

donner le temps : 4.5

la vitesse est 111.11 km/h

  • Dans cet exercice, les données sont la distance et le temps.
  • La distance et le temps sont de type numérique, float fera la tâche
  • Pour calculer la vitesse, je divise la distance par le temps.
  • L'affichage de la vitesse sera avec deux chiffres après la virgule.

Exercice : Que sera le résultat de l'exécution des instructions suivantes en Python

Que sera l'affichage si je lance l'interpréteur Python et j'exécute chacune des instructions suivantes ?
Noter bien : il y a deux instructions erronée.

>>> (2 + 3) * 2

>>> 1 + 2 ** 2

>>> "py" + 3

>>> "py" * 2

>>> ("py" + "thon") * 2

>>> 5 / 2

>>> 4 / 2

>>> 7 // 2

>>> 7 % 2

>>> ("Py" * 3) / 4


Correction de l'exercice : deviner l'affichage (opération de calcul en Python)

voici les résultats :

>>> (2 + 3) * 2

10

>>> 1 + 2 ** 2

9

>>> "py" + 3

Unsupported operand types for + ("str" and "int")

>>> "py" * 2

'pypy'

>>> ("py" + "thon") * 2

'pythonpython'

>>> 5 / 2

2.5

>>> 4 / 2

2.0

>>> 7 // 2

3

>>> 7 % 2

1

>>> ("Py" * 3) / 4
Unsupported operand types for / ("str" and "int")



Exercice : deviner le résultat affiché après l'exécution des instructions de converstion suivantes en Python

Que sera l'affichage si je lance l'interpréteur Python et j'exécute chacune des instructions suivantes ?
Attention : une instruction donne un résultat erronée :

>>> str(2) * int("2")
>>> int("3") + float("3.3")
>>> str(3) * float("3.2")
>>> str(5) * 2

Correction de l'exercice : deviner l'affichage (opération de conversion)

voici les résultats :

>>> str(2) * int("2")
22

>>> int("3") + float("3.3")
6.3

>>> str(3) * float("3.2")
Unsupported operand types for * ("str" and "float")

>>> str(5) * 2

1.01.0






















Posts les plus consultés de ce blog

Les fonctions prédéfinies en Python, les indispensables

Programmer avec Python