新聞中心
創(chuàng)新互聯(lián)Python教程:

創(chuàng)新互聯(lián)公司主營(yíng)太子河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),太子河h5重慶小程序開(kāi)發(fā)搭建,太子河網(wǎng)站營(yíng)銷(xiāo)推廣歡迎太子河等地區(qū)企業(yè)咨詢
寫(xiě)一個(gè) Python 程序,使用 While 循環(huán)、For 循環(huán)和階乘函數(shù)查找強(qiáng)數(shù),并給出一個(gè)例子。
Python 程序使用 While 循環(huán)查找強(qiáng)數(shù)
這個(gè) python 程序用于一個(gè)強(qiáng)數(shù),允許用戶輸入任意正整數(shù)。接下來(lái),Python 使用 While 循環(huán)檢查給定的數(shù)字是否是強(qiáng)數(shù)。
# Python Program to find Strong Number
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Factorial = 1
i = 1
Reminder = Temp % 10
while(i <= Reminder):
Factorial = Factorial * i
i = i + 1
print("\n Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
在這個(gè) Python 強(qiáng)數(shù)示例中,首先,我們將原始值賦給 Temp 變量。它幫助我們保持我們的原始價(jià)值。
第一個(gè) While Loop 確保給定的數(shù)字大于 0。while 循環(huán)中的語(yǔ)句拆分?jǐn)?shù)字,并找出給定數(shù)字中各個(gè)數(shù)字的階乘。請(qǐng)參考 Python 數(shù)數(shù)文章了解邏輯。
第二個(gè) While 循環(huán)(嵌套循環(huán))查找每個(gè)數(shù)字的階乘。建議大家參考 Python 查找一個(gè)數(shù)的階乘文章,了解階乘背后的邏輯。
用戶為此 Python 程序輸入的值,以查找強(qiáng)數(shù):數(shù)字= 145,總和= 0 因數(shù) 1 = 1,i = 1 溫度=數(shù)字 溫度= 145
Python 程序在循環(huán)時(shí)首先查找強(qiáng)名稱–第一次迭代 提醒= Temp % 10 提醒= 145 % 10 = 5
現(xiàn)在,它進(jìn)入 Python 內(nèi)部或嵌套 While 循環(huán)。這里,它計(jì)算 5 = 120 的階乘。
總和=總和+120 => 0 + 120 總和= 120
溫度=溫度//10 => 145 //10 溫度= 14
第二次迭代 溫度= 14,總和= 120 提醒= 14 % 10 = 4
現(xiàn)在,它進(jìn)入內(nèi)部 While 循環(huán)。這里,它計(jì)算 4 = 24 的階乘。
總和= 120 + 24 總和= 144
Temp = 14/10 Temp = 1
第三次迭代 溫度= 1,總和= 144 提醒= 1 % 10 = 0
這里,1 的階乘是 1 和= 144 + 1 和= 145
Temp = 1/10 Temp = 0
這里 Temp = 0,所以 while 循環(huán)條件失敗。
if(Number = = Sum)–條件檢查用戶輸入的數(shù)字是否完全等于 Sum。如果這個(gè)條件為真,那么它就是強(qiáng)數(shù),否則它不是強(qiáng)數(shù)。
使用 For 循環(huán)查找強(qiáng)數(shù)的 Python 程序
這個(gè)針對(duì) Python 強(qiáng)數(shù)的程序同上。在這個(gè) python 程序中,我們將 While 循環(huán)替換為 For 循環(huán)。
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Factorial = 1
Reminder = Temp % 10
for i in range(1, Reminder + 1):
Factorial = Factorial * i
print("Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
Please Enter any Number: 40585
Factorial of 5 = 120
Factorial of 8 = 40320
Factorial of 5 = 120
Factorial of 0 = 1
Factorial of 4 = 24
Sum of Factorials of a Given Number 40585 = 40585
40585 is a Strong Number
用階乘函數(shù)求強(qiáng)數(shù)的 Python 程序
這個(gè) Python 強(qiáng)數(shù)程序和第一個(gè)例子一樣。然而,我們正在使用一個(gè)名為階乘的內(nèi)置數(shù)學(xué)函數(shù)來(lái)尋找階乘。這種方法消除了嵌套 while 循環(huán)。
import math
Number = int(input(" Please Enter any Number: "))
Sum = 0
Temp = Number
while(Temp > 0):
Reminder = Temp % 10
Factorial = math.factorial(Reminder)
print("Factorial of %d = %d" %(Reminder, Factorial))
Sum = Sum + Factorial
Temp = Temp // 10
print("\n Sum of Factorials of a Given Number %d = %d" %(Number, Sum))
if (Sum == Number):
print(" %d is a Strong Number" %Number)
else:
print(" %d is not a Strong Number" %Number)
使用階乘輸出的 Python 強(qiáng)數(shù)。
Please Enter any Number: 145
Factorial of 5 = 120
Factorial of 4 = 24
Factorial of 1 = 1
Sum of Factorials of a Given Number 145 = 145
145 is a Strong Number 網(wǎng)頁(yè)標(biāo)題:Python程序:尋找強(qiáng)數(shù)
網(wǎng)址分享:http://m.5511xx.com/article/cdjcjhs.html


咨詢
建站咨詢
