Exercice 14
Ecrire un algorithme en langage Python qui invite l’utilisateur à saisir un nombre entier n et de lui afficher si ce nombre est carré parfait ou non.
Solution
1ère méthode
1 2 3 4 5 6 7 8 9 10 11 12 |
import math # Demande à l'utilisateur de saisir un nombre entier n n = int(input("Entrez un nombre entier : ")) # Détermine si n est un carré parfait en calculant sa racine carrée # et en vérifiant si le résultat est un entier racine = math.sqrt(n) if racine.is_integer(): print(n, "est un carré parfait.") else: print(n, "n'est pas un carré parfait.") |
Explication :
- La commande 'import math': permet d'importer le module math pour pouvoir utiliser la fonction sqrt() qui permet de calculer la racine carrée d'un nombre.
- La fonction input(): invite l'utilisateur à saisir un nombre entier,
- La fonction int(): permet de convertir la chaîne de caractères saisie en entier.
- La fonction sqrt(): calcul la racine carrée de n et nous vérifions si le résultat est un entier en utilisant.
- La méthode is_integer(): est utilisée pour vérifier si la racine carrée est un entier
- Si le résultat est un entier: alors n est un carré parfait et nous affichons un message correspondant.
- Sinon, n n'est pas un carré parfait: et nous affichons un autre message correspondant.
2ème methode: sans utiliser ni math ni sqrt
Voici un autre exemple de programme Python qui détermine si un nombre entier est un carré parfait ou non, sans utiliser le module math ni sqrt :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Demande à l'utilisateur de saisir un nombre entier n n = int(input("Entrez un nombre entier : ")) # Initialise la variable i à 1 i = 1 # Tant que i^2 est inférieur ou égal à n while i**2 <= n: # Si i^2 est égal à n, alors n est un carré parfait if i**2 == n: print(n, "est un carré parfait.") break # Sinon, on incrémente i i += 1 # Si on a parcouru toutes les valeurs possibles de i sans trouver un carré parfait, alors n n est pas un carré parfait else: print(n, "n'est pas un carré parfait.") |
Explication :
- La fonction input(): demande à l'utilisateur de saisir un nombre entier
- La fonction int(): nous permet de convertir la chaîne de caractères obtenue en entier.
- Une variable i : auxilliaire est initialisée à 1 permettant de detecter si n est un carée parfait lorsqu'elle est incrémentée.
- Nous utilisons une boucle while: pour parcourir toutes les valeurs possibles de i telles que i^2 est inférieur ou égal à n.
- Si i^2 est égal à n: alors n est un carré parfait et nous affichons un message correspondant en utilisant la commande print() et nous sortons de la boucle en utilisant le mot-clé break.
- Si nous avons parcouru toutes les valeurs possibles de i: sans trouver un carré parfait, alors n n'est pas un carré parfait et nous affichons un autre message correspondant en utilisant la commande print() et la boucle se termine normalement.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 14: tester si un entier est un carré parfait en python”