I det här exemplet lär du dig att kontrollera om ett n-siffrigt heltal är ett Armstrong-nummer eller inte.
För att förstå detta exempel bör du ha kunskap om följande Python-programmeringsämnen:
- Python om … annars uttalande
- Python medan Loop
Ett positivt heltal kallas ett Armstrong antal ordningar n if
abcd … = a n + b n + c n + d n + …
Vid ett Armstrong-antal på tre siffror är summan av kuber av varje siffra lika med själva numret. Till exempel:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 är ett Armstrong-tal.
Källkod: Kontrollera Armstrong-numret (med tre siffror)
# 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")
Utgång 1
Ange ett nummer: 663 663 är inte ett Armstrong-nummer
Utgång 2
Ange ett nummer: 407 407 är ett Armstrong-nummer
Här ber vi användaren om ett nummer och kontrollera om det är ett Armstrong-nummer.
Vi måste beräkna summan av kuben för varje siffra. Så vi initialiserar summan till 0 och får varje siffrans nummer med hjälp av moduloperatorn%. Återstoden av ett tal när det divideras med 10 är den sista siffran i det numret. Vi tar kuberna med exponentoperatören.
Slutligen jämför vi summan med det ursprungliga numret och drar slutsatsen att det är Armstrong-tal om de är lika.
Källkod: Kontrollera Armstrong antal n siffror
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 ändra värdet på num i källkoden och köra igen för att testa det.