Python – Les bases – Exercices – 2ème partie

Pour chaque exercice il vous sera demandé d’écrire une fonction qui permet de résoudre cette exercice. Pour valider les exercices il faudra donc rendre à votre professeur un fichier Python (.py) (différent du précédent) contenant l’ensemble des fonctions permettant de résoudre l’ensemble des exercices.

Vous commenterez chaque fonction par le numéro de l’exercice correspondant.

Les énoncés des exercices peuvent changer, vous devrez quelque fois écrire des fonctions qui retournent des valeurs.

Voici un exemple d’énoncé d’exercice :


Exercice XX :

Ecrire une fonction carre prenant en argument une variable x. Cette fonction permettra de retourner le carré de cette variable.

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré ces différentes instructions :

>>> print(carre(4))
16

Et voici le corrigé de cet exercice :

# Exercice XX
def carre(x):
    return x*x


A vous de jouer pour les exercices suivants !


Exercice 01 :

Ecrire une fonction airedisque_1 prenant en argument la variable R, correspondant au rayon d’un disque. Cette fonction retournera l’aire de la surface du disque.

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré cette instruction :

>>> print(airedisque_1(2.5))
19.634954084936208

Notes : Pour utiliser le nombre pi il ne faut pas oublier d’importer la bibliothèque math. On pourra alors écrire tout simplement « pi » lorsque l’on en aura besoin.


Exercice 02 :

Ecrire une fonction airedisque_2 prenant en argument les variables R et unite, correspondant au rayon d’un disque et à l’unité du rayon. Cette fonction retournera l’aire de la surface du disque dans l’unité souhaitée.

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré cette instruction :

>>> print(airedisque_2(2.5,"cm"))
19.634954084936208 cm²

Notes : Pour créer une chaine de caractère avec plusieurs variables de différents types il faut tout d’abord transformer les types différents des chaines de caractère en chaine de caractère.

Exemple :

prenom = "Jane"
age = 36
phrase = prenom + " a " + str(age) + " ans"
print(phrase)

Résultat :

Jane a 36 ans

Exercice 03 :

Ecrire une fonction factorielle prenant en argument la variable n, correspondant à un nombre. Cette fonction retournera la factorielle de ce nombre.

La factorielle d’un nombre N est notée « N ! » et s’obtient par cette formule : N ! = 1 x 2 x 3 x … x (N-1) x N

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré cette instruction :

>>> print(factorielle(15))
1307674368000

La fonction input

Dans les prochains exercices nous allons avoir besoin d’un nouvelle fonction afin d’interagir avec l’utilisateur de nos programmes.

Nous allons donc utiliser la fonction input.

Cette fonction permet de demander à l’utilisateur du programme de rentrer des informations grâce au clavier.

Dans l’éditeur, écrire les instructions suivantes puis exécuter le programme :

prenom = input("Quel est ton prénom ? --> ")
print("Bonjour " + prenom)

On remarque alors que le programme s’arrête au input et attend que l’utilisateur rentre une information au clavier. Ce que l’utilisateur aura tapé au clavier sera alors stocké dans la variable prenom et sera réutilisé dans le print de l’instruction suivante.

Par défaut, lorsque que l’on fait appel à la fonction input, le programme stockera la valeur rentrée en tant que chaine de caractères (str). Si l’on veut demander à l’utilisateur de rentrer un nombre entier et pour l’on puisse faire des calculs avec celui-ci par la suite il faut convertir la chaine de caractère en nombre entier en utilisant « int(input())« .

Dans l’éditeur, écrire les instructions suivantes puis exécuter le programme :

n = int(input("Quel nombre veux-tu multiplier par 2 ? --> "))
print(n*2)

Exercice 04 :

Ecrire une fonction info ne prenant pas d’argument. Cette fonction demandera à l’utilisateur son prénom, puis son nom, puis son âge et affichera le tout dans une même phrase.

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré cette instruction :

>>> info()
Quel est ton prénom ? --> Harry
Quel est ton nom ? --> Potter
Quel est ton âge ? --> 25
Bonjour Harry Potter de 25 ans.

Notes : Quand une fonction n’a pas d’argument il faut quand même la définir avec des parenthèses. Ici on l’a définira comme ceci :

def info():

Notes : Pour afficher une variable de type nombre entier (int) dans un print avec d’autre chaine de caractères (str) il faut convertir la variable en chaine de caractère. Par exemple, si la variable n est de type int on la converti en str en utilisant « str(n)« .


Exercice 05 :

Ecrire une fonction moyenne ne prenant pas d’argument. Cette fonction demandera à l’utilisateur combien de note il souhaite rentrer. La fonction lui demandera ensuite de rentrer une par une des notes pour ensuite calculer la moyenne de ces notes.

Sur la console voici un exemple d’utilisation de la fonction avec le résultat à obtenir après avoir rentré cette instruction :

>>> moyenne()
Combien de note voulez-vous rentrer ? 4
Note 1 : 12
Note 2 : 14
Note 3 : 13
Note 4 : 16
13.75

Notes : Pour calculer la moyenne on peut dans un premier temps ajouter toutes les notes entre elles et ensuite les diviser par le nombre de note.


La bibliothèque random

Dans les prochains exercices nous allons avoir besoin d’une nouvelle bibliothèque : la bibliothèque « random ».

Cette bibliothèque permettra de faire appel à des fonctions permettant de générer des nombres aléatoires.

On déclare la bibliothèque au début de notre programme de la façon suivante :

from random import *

La fonction de cette bibliothèque que nous allons devoir utiliser permet de générer des nombres entiers dans un intervalle donné.

Dans l’éditeur, écrire les instructions suivantes puis exécuter le programme :

n = randint(0,10)
print(n)

Vous pouvez alors exécuter plusieurs fois le programme pour voir que la variable n changera de valeur à chaque exécution pour prendre une valeur aléatoire comprise entre 0 (inclus) et 10 (inclus aussi).


Exercice 06 :

Ecrire une fonction devine_00 ne prenant pas d’argument. Cette fonction choisira dans un premier temps un nombre aléatoire entre 0 et 10 (à stocker dans une variable). La fonction demandera, dans un deuxième temps, à l’utilisateur de rentrer un nombre entre 0 et 10 (à stocker dans une variable). Si les deux variables sont égales alors le programme affichera « Bravo ! » sinon le programme affichera « Perdu ! ».

Sur la console voici un exemple d’utilisation de la fonction :

>>> devine_00()
Devine le nombre choisi par l'ordinateur --> 5
Perdu !

Exercice 07 :

Ecrire une fonction devine_01 ne prenant pas d’argument. Cette fonction choisira dans un premier temps un nombre aléatoire entre 0 et 10 (à stocker dans une variable). La fonction demandera, dans un deuxième temps, à l’utilisateur de rentrer un nombre entre 0 et 10 (à stocker dans une variable) jusqu’à ce qu’il trouve le bon nombre. La fonction se termine lorsque les deux variables sont égales, elle affichera alors « Bravo ! ».

Sur la console voici un exemple d’utilisation de la fonction :

>>> devine_01()
Devine le nombre choisi par l'ordinateur --> 5
Devine le nombre choisi par l'ordinateur --> 4
Devine le nombre choisi par l'ordinateur --> 3
Bravo !

Exercice 08 :

Ecrire une fonction devine_02 ne prenant pas d’argument. Cette fonction choisira dans un premier temps un nombre aléatoire entre 0 et 100 (à stocker dans une variable). La fonction demandera, dans un deuxième temps, à l’utilisateur de rentrer un nombre entre 0 et 100 (à stocker dans une variable) jusqu’à ce qu’il trouve le bon nombre. A chaque tentative la fonction indiquera a l’utilisateur si le nombre à deviner est plus grand ou plus petit que le nombre donné par l’utilisateur. La fonction se termine lorsque les deux variables sont égales, elle affichera alors « Bravo ! ».

Sur la console voici un exemple d’utilisation de la fonction :

>>> devine_02()
Devine le nombre choisi par l'ordinateur --> 45
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 86
C'est inférieur
Devine le nombre choisi par l'ordinateur --> 72
C'est inférieur
Devine le nombre choisi par l'ordinateur --> 58
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 63
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 68
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 70
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 71
Bravo !

Exercice 09 :

Ecrire une fonction devine_03 ne prenant pas d’argument. Cette fonction choisira dans un premier temps un nombre aléatoire entre 0 et 100 (à stocker dans une variable). La fonction demandera, dans un deuxième temps, à l’utilisateur de rentrer un nombre entre 0 et 100 (à stocker dans une variable) jusqu’à ce qu’il trouve le bon nombre. A chaque tentative la fonction indiquera a l’utilisateur si le nombre à deviner est plus grand ou plus petit que le nombre donné par l’utilisateur. La fonction se termine lorsque les deux variables sont égales, elle affichera alors « Bravo ! » ou lorsque l’utilisateur à fait plus de 6 tentatives, la fonction affichera alors « Perdu ! ».

Sur la console voici un exemple d’utilisation de la fonction :

>>> devine_03()
Devine le nombre choisi par l'ordinateur --> 50
C'est inférieur
Devine le nombre choisi par l'ordinateur --> 25
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 45
C'est inférieur
Devine le nombre choisi par l'ordinateur --> 30
C'est inférieur
Devine le nombre choisi par l'ordinateur --> 26
C'est supérieur
Devine le nombre choisi par l'ordinateur --> 27
Perdu !