日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python程序:阿姆斯特朗數(shù)

創(chuàng)新互聯(lián)python教程:

創(chuàng)新互聯(lián)于2013年開始,先為西湖等服務(wù)建站,西湖等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為西湖企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

如何使用 While 循環(huán)、For 循環(huán)、函數(shù)和遞歸為阿姆斯特朗數(shù)編寫 Python 程序?。我們還向您展示了打印 1 到 n 之間的阿姆斯特朗數(shù)字的 Python 程序

Python 中的阿姆斯特朗數(shù)

如果給定的數(shù)字等于該整數(shù)中每個(gè)數(shù)字的 n 次方之和,那么它可以是 Python 中的阿姆斯特朗數(shù)。比如 370 就是阿姆斯特朗數(shù)。

370 中的個(gè)別數(shù)字= 3

370 = 3г+7г+0г

= 27 + 343 + 0 = 370

以下步驟向您展示了在 Python 中檢查阿姆斯特朗編號(hào)的常見方法

Python 步驟中的阿姆斯特朗數(shù):

  1. 用戶必須輸入任何數(shù)字。
  2. 計(jì)算單個(gè)數(shù)字的總數(shù)(例如,370 表示 3)。
  3. 將給定的數(shù)字分成獨(dú)立的數(shù)字(例如,將 370 分成 3、7 和 0)。
  4. 計(jì)算每個(gè)個(gè)體的 n 次方,并將這些數(shù)相加。
  5. 將原始值與總和值進(jìn)行比較。
  6. 如果他們完全匹配,那么它是一個(gè)阿姆斯特朗數(shù),否則它不是。

使用 While 循環(huán)的阿姆斯特朗數(shù) Python 程序

這個(gè) Python 程序允許用戶輸入任何正整數(shù)。然后,這個(gè) Python 程序使用 While 循環(huán)檢查一個(gè)數(shù)字是否是阿姆斯特朗數(shù)

Number = int(input("\nPlease Enter the Number to Check for Armstrong: "))

# Initializing Sum and Number of Digits
Sum = 0
Times = 0

# Calculating Number of individual digits
Temp = Number
while Temp > 0:
           Times = Times + 1
           Temp = Temp // 10

# Finding Armstrong Number
Temp = Number
while Temp > 0:
           Reminder = Temp % 10
           Sum = Sum + (Reminder ** Times)
           Temp //= 10
if Number == Sum:
           print("\n %d is Armstrong Number.\n" %Number)
else:
           print("\n %d is Not a Armstrong Number.\n" %Number)

Python 中的 Armstrong Number 使用 While 循環(huán)輸出

python 程序中的阿姆斯特朗數(shù)允許用戶輸入任意正整數(shù),然后將其賦給變量 number。

接下來,我們將原始值賦給臨時(shí)變量。它有助于保留我們的原始值,然后對(duì) Temp 變量進(jìn)行所有操作。

第一個(gè) While 循環(huán)確保給定的數(shù)字大于 0,While 循環(huán)中的語(yǔ)句會(huì)拆分?jǐn)?shù)字,并計(jì)算給定整數(shù)中各個(gè)數(shù)字的總數(shù)。如果您不理解 Python 程序的邏輯,請(qǐng)參考 Python 程序查找數(shù)字文章中的位數(shù)。

python 程序中阿姆斯特朗數(shù)的第二個(gè) While 循環(huán)確保給定的數(shù)字大于 0。讓我們看看迭代循環(huán)的工作原理

當(dāng)溫度> 0 時(shí):提醒=溫度% 10 總和=總和+(提醒**次)溫度/= 10

用戶為此 Python 程序輸入的值,用于 Armstrong Number : Number= 9474,Sum = 0

溫度=數(shù)字 溫度= 9474

第一次迭代

提醒= Temp %10 提醒= 9474 % 10 = 4

總和=總和+冪(提醒,次數(shù))

對(duì)于這個(gè) Python 的例子,Times =4,因?yàn)?9474 中的位數(shù)=4。所以,

Sum = Sum +(提醒提醒提醒提醒) Sum = 0+(4 4 4 4)=>0+256 =>Sum = 256T3

溫度=溫度/10 => 9474 /10 溫度= 947

注:如果數(shù)字計(jì)數(shù)為 5,則提醒乘以 5 倍。

第二次迭代:從 Python 程序中,對(duì)于 Armstrong Number 第一次迭代,Temp 和 Sum 的值都更改為 Temp = 163,Sum = 256

提醒=溫度%10 提醒= 947 % 10 = 7

總和= 256 + (7 7 7 * 7) => 256 + 2401 總和= 2657

Temp = Temp/10 = > 163/10 Temp = 94

第三次迭代:從第二次迭代開始,Temp = 94,Sum = 2657。

提醒= 94 % 10 = 4

求和= 2657 + (4 4 4 * 4) => 2657 + 256 求和= 2913T2T4】

溫度= 94 /10 = 9

阿姆斯特朗數(shù)第四次迭代的 Python 程序

從第三次迭代開始,Temp = 9,Sum = 2913 的值

提醒= 9 % 10 = 0

總和= 2913+(9 9 9)= > 2913+6561 總和= 9474

Temp = 9/10 = 0

這里 Temp = 0,所以 while 循環(huán)條件失敗。

if(Number = = Sum)–條件檢查用戶輸入的是否完全等于 Sum。如果這個(gè)條件為真,那么它是阿姆斯特朗數(shù),否則它不是。

讓我檢查一下(數(shù)字= =總和)

如果(9474 = = 9474)–真,表示阿姆斯特朗

注意:如果您發(fā)現(xiàn) Python Armstrong 數(shù)字低于 1000,請(qǐng)刪除 while 循環(huán)以計(jì)算數(shù)字中的位數(shù),然后替換下面的代碼

Sum = Sum + (Reminder ** Times);

With

Sum = Sum + (Reminder * Reminder * Reminder)

用于循環(huán)的阿姆斯特朗數(shù)的 Python 程序

該 Python 程序允許用戶輸入任意正整數(shù),然后,該程序使用 Python For Loop 檢查一個(gè)數(shù)字是否為 Armstrong Number

Num = int(input("\nPlease Enter the Value : "))

Sum = 0
Times = 0

Temp = Num
while Temp > 0:
           Times = Times + 1
           Temp = Temp // 10

Temp = Num
for n in range(1, Temp + 1):
           Reminder = Temp % 10
           Sum = Sum + (Reminder ** Times)
           Temp //= 10

if Num == Sum:
           print("\n %d is Armstrong.\n" %Num)
else:
           print("\n %d is Not a Armstrong.\n" %Num)
 Please Enter the Value : 371

 371 is Armstrong.

Please Enter the Value : 4458

 4458 is Not a Armstrong. 

我們剛剛用 For 循環(huán)替換了上面 Python 例子中阿姆斯特朗數(shù)中的 While 循環(huán)。如果您不理解 for 循環(huán),請(qǐng)參考這里的 For 循環(huán)文章: Python For 循環(huán)

使用函數(shù)的阿姆斯特朗數(shù)的 Python 程序

這個(gè) Python 程序允許用戶輸入任何正整數(shù)。然后,這個(gè)程序檢查一個(gè)數(shù)字是否是阿姆斯特朗數(shù)或不使用功能

def Armstrong_Number(Number):
           Sum = 0
           Times = 0

           # Calculating individual digits
           Temp = Number
           while Temp > 0:
                      Times = Times + 1
                      Temp = Temp // 10

           Temp = Number
           for n in range(1, Temp + 1):
                      Reminder = Temp % 10
                      Sum = Sum + (Reminder ** Times)
                      Temp //= 10
           return Sum

#User Input
Number = int(input("\nPlease Enter the Number to Check for Armstrong: "))

if (Number == Armstrong_Number(Number)):
    print("\n %d is Armstrong.\n" %Number)
else:
    print("\n %d is Not an Armstrong.\n" %Number)
 Please Enter the Number to Check for Armstrong: 153

 153 is Armstrong.

>>> 

Please Enter the Number to Check for Armstrong: 2256

 2256 is Not an Armstrong.

在這個(gè)關(guān)于阿姆斯特朗數(shù)的 Python 程序示例中,我們定義了以下函數(shù)來執(zhí)行所有必要的計(jì)算并返回 Sum。

def Armstrong_Number(Number):

當(dāng)編譯器到達(dá) If 語(yǔ)句中的以下代碼時(shí),編譯器立即跳轉(zhuǎn)到上面指定的函數(shù)。

Armstrong_Number(Number)

我們已經(jīng)解釋了上面的邏輯例子。

用遞歸實(shí)現(xiàn)阿姆斯特朗數(shù)的 Python 程序

這個(gè)程序允許我們輸入任何正整數(shù)。接下來,這個(gè) Python 程序使用遞歸概念檢查一個(gè)數(shù)字是否是阿姆斯特朗。

Sum = 0
Times = 0

def Count_Of_Digits(Number):
           global Times
           if(Number > 0):
                      Times = Times + 1
                      Count_Of_Digits(Number // 10)
           return Times

def Armstrong_Number(Number, Times):
           global Sum
           if(Number > 0):
                      Reminder = Number % 10
                      Sum = Sum + (Reminder ** Times)
                      Armstrong_Number(Number //10, Times)
           return Sum

Number = int(input("\nPlease Enter the Number : "))

Times = Count_Of_Digits(Number)
Sum = Armstrong_Number(Number, Times)
if (Number == Sum):
    print("\n %d is Armstrong.\n" %Number)
else:
    print("\n %d is Not a Armstrong.\n" %Number)
 Please Enter the Number : 153

 153 is Armstrong.

>>> 

Please Enter the Number : 259

 259 is Not a Armstrong.

在這個(gè)阿姆斯特朗數(shù)的 Python 程序示例中,我們定義了兩個(gè)遞歸函數(shù)。下面的函數(shù)接受整數(shù)值作為參數(shù)值,并遞歸地計(jì)算一個(gè)數(shù)字中各個(gè)數(shù)字的總數(shù)。

def Count_Of_Digits(Number):

以下函數(shù)接受兩個(gè)整數(shù)值作為參數(shù)值。它執(zhí)行所有必要的計(jì)算并返回 Sum。

def Armstrong_Number(Number, Times):

阿姆斯特朗數(shù)的 Python 程序中的以下語(yǔ)句有助于用更新的值遞歸調(diào)用函數(shù)。如果您錯(cuò)過了此語(yǔ)句,那么在完成第一行后,它將終止。例如

Armstrong_Number(Number //10, Times)

數(shù)量= 153

那么輸出= 27

讓我們看看上面指定的功能 里面的 If 語(yǔ)句

如果(數(shù)字> 0),檢查數(shù)字是否大于 0。對(duì)于遞歸函數(shù),在遞歸使用函數(shù)之前放置一個(gè)條件是很重要的。否則,我們最終會(huì)陷入無(wú)限執(zhí)行(就像無(wú)限循環(huán)一樣)。

尋找 1 到 n 之間的阿姆斯特朗數(shù)的 Python 程序

該程序允許您輸入最小值和最大值。這個(gè) Python 程序返回介于最小值和最大值之間的阿姆斯特朗數(shù)。

python 程序中阿姆斯特朗數(shù)的前兩個(gè)語(yǔ)句允許用戶輸入最小值和最大值。

循環(huán)的Python有助于最小和最大變量之間的迭代。迭代從最小值開始,然后不會(huì)超過最大值變量。

if(Number = = Sum)-–條件檢查該整數(shù)中每個(gè)數(shù)字的冪 N 之和是否等于給定的數(shù)字。當(dāng)條件為真時(shí),它是阿姆斯特朗,否則它不是。

如果該條件為真,則打印該數(shù)字。

Minimum = int(input("Please Enter the Minimum Value: "))
Maximum = int(input("\n Please Enter the Maximum Value: "))

for Number in range(Minimum, Maximum + 1):
           Sum = 0
           Times = 0

           Temp = Number
           while Temp > 0:
                      Times = Times + 1
                      Temp = Temp // 10

           Temp = Number
           while Temp > 0:
                      Reminder = Temp % 10
                      Sum = Sum + (Reminder ** Times)
                      Temp //= 10
           if Number == Sum:
                      print(Number)

阿姆斯特朗的輸出從 10 到 10000

Please Enter the Minimum Value: 10

 Please Enter the Maximum Value: 10000
153
370
371
407
1634
8208
9474

網(wǎng)站欄目:Python程序:阿姆斯特朗數(shù)
文章網(wǎng)址:http://www.dlmjj.cn/article/cdopesc.html