I dette eksemplet vil du lære å sjekke om et n-sifret heltall er et Armstrong-tall eller ikke.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Python-programmeringsemner:
- Python hvis … annet uttalelse
- Python mens Loop
Et positivt heltall kalles et Armstrong antall ordre n hvis
abcd … = a n + b n + c n + d n + …
Ved et Armstrong-antall på 3 sifre er summen av kubene for hvert siffer lik selve tallet. For eksempel:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 er et Armstrong-tall.
Kildekode: Sjekk Armstrong-nummeret (med tre sifre)
# 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")
Utgang 1
Skriv inn et tall: 663 663 er ikke et Armstrong-nummer
Utgang 2
Skriv inn et tall: 407 407 er et Armstrong-nummer
Her ber vi brukeren om et nummer og sjekker om det er et Armstrong-nummer.
Vi må beregne summen av kuben for hvert siffer. Så vi initialiserer summen til 0 og får hvert siffernummer ved å bruke moduloperatoren%. Resten av et tall når det er delt på 10 er det siste sifferet i tallet. Vi tar kubene ved hjelp av eksponentoperatøren.
Til slutt sammenligner vi summen med det opprinnelige tallet og konkluderer med at det er Armstrong-nummer hvis de er like.
Kildekode: Sjekk Armstrong antall n sifre
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")
Du kan endre verdien på num i kildekoden og kjøre igjen for å teste den.