Exercice 22
Extremums des chiffres d'un entier positif:
1) Créer un algorithme Python sous forme de fonction appelés list_digit(n) qui prends en paramètres un nombre entier positif n et renvoie la liste des chiffres qui le composent. (On vous demande de traiter la question de deux façons différentes l'une en utilisant la fonction prédéfinie str() et l'autre sans utiliser cette fonction)
2) En déduire une fonction extremums_digits(n) qui cherche et retourne sous forme de tuple le plus petit et le plus grand chiffre d'un nombre entier positif n passé en paramètres.
Exemple : Pour n = 529, la fonction retourne (2, 9) car 2 est le plus petit chiffre et 9 le plus grand.
Solution
Méthode 1 : Sans utiliser str()
On extrait les chiffres grâce aux divisions successives par 10.
1) Fonction list_digit(n) sans str():
|
1 2 3 4 5 6 7 |
def list_digit(n): digits = [] while n > 0: digits.append(n % 10) # Récupère le dernier chiffre n //= 10 # Supprime le dernier chiffre digits.reverse() # On remet dans l'ordre correct return digits |
2) Fonction extremums_digits(n) sans str():
|
1 2 3 |
def extremums_digits(n): digits = list_digit(n) return (min(digits), max(digits)) |
Méthode 2 : Avec utilisation de str()
On transforme simplement le nombre en chaîne de caractères.
1) Fonction list_digit(n) avec str():
|
1 2 3 4 5 |
def list_digit_str(n): # On transforme l'entier n en une chaine de caractères s = str(n) list_chiffres = [int(c) for c in s] return list_chiffres |
2) Fonction extremums_digits(n) avec str() :
|
1 2 3 |
def extremums_digits_str(n): digits = list_digit_str(n) return (min(digits), max(digits)) |
|
1 2 3 |
#Exemple d’utilisation : print(extremums_digits(529)) # Méthode sans str() : (2, 9) print(extremums_digits_str(529)) # Méthode avec str() : (2, 9) |
Younes Derfoufi
CRMEF OUJDA
-

Java Maîtrisé : Initiation Approfondie à la Programmation Orientée Objet
€ 11,50 Achetez le livre -

Tenda Routeur WiFi 6 RX12 Pro, Router Tenda WiFi AX3000 Bi-Bande, 5 * 6dBi Antennes à Haut Puissance, Large Couverture,
€ 57,00 Acheter le produit -

Obtenez Advanced File Recovery pour Windows 1 an 1 PC
€ 34,00 Acheter le produit
