V tem primeru se boste naučili preverjati, ali je n-mestno celo število Armstrongova številka ali ne.
Če želite razumeti ta primer, morate poznati naslednje programske teme Python:
- Izjava Python, če … drugače
- Python, medtem ko Loop
Pozitivno celo število se imenuje Armstrongova številka reda n, če
abcd… = a n + b n + c n + d n +…
V primeru Armstrongovega števila 3 števk je vsota kock posamezne številke enaka samemu številu. Na primer:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongova številka.
Izvorna koda: Preverite Armstrongovo številko (za 3 številke)
# Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
Izhod 1
Vnesite številko: 663 663 ni Armstrongova številka
Rezultat 2
Vnesite številko: 407 407 je Armstrongova številka
Tu prosimo uporabnika za številko in preverimo, ali gre za številko Armstrong.
Izračunati moramo vsoto kocke vsake števke. Torej vsoto inicializiramo na 0 in z uporabo operatorja modula% dobimo vsako števčno številko. Preostanek števila, ko je deljeno z 10, je zadnja številka tega števila. Kocke vzamemo z eksponentnim operatorjem.
Na koncu primerjamo vsoto s prvotno številko in ugotovimo, da je Armstrongova številka, če sta enaki.
Izvorna koda: Preverite Armstrongova številka n števk
num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number")
V izvorni kodi lahko spremenite vrednost num in jo znova zaženete, da jo preizkusite.