Nombre d'Armstrong en Python

Document 对象参考手册Exemples Python3

Si unnentier positif à n chiffres est égal à lansomme des puissances de ses chiffres, alors le nombre est appelé nombre d'Armstrong.1^3 + 5^3 + 3^3 = 153。

Nombres d'Armstrong inférieurs à 1000 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407.

Le code suivant permet de vérifier si le nombre saisi par l'utilisateur est un nombre d'Armstrong :

Exemple (Python 3.0+)

# Nom du fichier : test.py # auteur : www.example.com # Python vérifie si le nombre saisi par l'utilisateur est un nombre d'Armstrong # Obtenir le nombre saisi par l'utilisateur num = int(input("Veuillez saisir un nombre :")) # Initialiser la variable sum sum = 0 # Exposant n = len(str(num)) # Vérifier temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10 # Afficher le résultat if num == sum: print(num,"est un nombre Armstrong") else: print(num,"n'est pas un nombre Armstrong")

L'exécution du code ci-dessus produit la sortie suivante :

$ python3 test.py 
请输入一个数字: 345
345 不是阿姆斯特朗数

$ python3 test.py 
请输入一个数字: 153
153 是阿姆斯特朗数

$ python3 test.py 
请输入一个数字: 1634
1634 是阿姆斯特朗数

Obtenir les nombres Armstrong dans un intervalle spécifié

Exemple (Python 3.0+)

# Nom du fichier :test.py # auteur : www.example.com # Obtenir les nombres saisis par l'utilisateur lower = int(input("Valeur minimale :")) upper = int(input("Valeur maximale :")) for num in range(lower,upper + 1): # Initialiser la somme sum = 0 # Exposant n = len(str(num)) # Check temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10 if num == sum: print(num)

L'exécution du code ci-dessus produit la sortie suivante :

最小值: 1
最大值: 10000
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474

Dans l'exemple ci-dessus, nous affichons les nombres d'Armstrong entre 1 et 10000.

Document 对象参考手册Exemples Python3

Autres extensions