Python Armstrong-Zahl
Wenn einenn-stellige positive ganze Zahl gleich dernSumme der Potenzen ihrer Ziffern ist, dann wird die Zahl als Armstrong-Zahl bezeichnet.1^3 + 5^3 + 3^3 = 153。
Armstrong-Zahlen bis 1000: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407.
Der folgende Code dient dazu, zu prüfen, ob die vom Benutzer eingegebene Zahl eine Armstrong-Zahl ist:
Beispiel (Python 3.0+)
# Dateiname : test.py
# Autor : www.example.com
# Python prüft, ob die vom Benutzer eingegebene Zahl eine Armstrong-Zahl ist
# Vom Benutzer eingegebene Zahl abrufen
num = int(input("Bitte geben Sie eine Zahl ein:"))
# Variable sum initialisieren
sum = 0
# Exponent
n = len(str(num))
# Prüfen
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# Ergebnis ausgeben
if num == sum:
print(num,"ist eine Armstrong-Zahl")
else:
print(num,"ist keine Armstrong-Zahl")
Das Ausführen des obigen Codes erzeugt die folgende Ausgabe:
$ python3 test.py 请输入一个数字: 345 345 不是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 153 153 是阿姆斯特朗数 $ python3 test.py 请输入一个数字: 1634 1634 是阿姆斯特朗数
Armstrong-Zahlen innerhalb eines angegebenen Bereichs ermitteln
Beispiel (Python 3.0+)
# Dateiname :test.py
# Autor: www.example.com
# Benutzereingaben abrufen
lower = int(input("Minimalwert:"))
upper = int(input("Maximalwert:"))
for num in range(lower,upper + 1):
# Summe initialisieren
sum = 0
# Exponent
n = len(str(num))
# Check
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num)
Das Ausführen des obigen Codes erzeugt die folgende Ausgabe:
最小值: 1 最大值: 10000 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474
Im obigen Beispiel geben wir die Armstrong-Zahlen zwischen 1 und 10000 aus.
Weitere Erweiterungen
Python3-Beispiele