本題要求編寫程序,計(jì)算N的階乘。
創(chuàng)新互聯(lián)主營南海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),南海h5微信小程序開發(fā)搭建,南海網(wǎng)站營銷推廣歡迎南海等地區(qū)企業(yè)咨詢
輸入格式:
輸入在一行中給出一個(gè)正整數(shù) N。
輸出格式:
在一行中按照“product = F”的格式輸出階乘的值F,請(qǐng)注意等號(hào)的左右各有一個(gè)空格。題目保證計(jì)算結(jié)果不超過雙精度范圍。
輸入樣例:
輸出樣例:
def?little_than_50(x):
if?x?=?50:
return?True
else:
return?False
def?calculate_factorial(x):
if?x?=?1:
return?1
else:
return?x*calculate_factorial(x-1)
while?True:
n?=?int(input("Input?a?number?for?calculating?factorial:"))
if?little_than_50(n):
break
else:
print("{}?is?out?of?range,please?input?again!".format(n))
print("The?factorial?of?{}?is?{}".format(n,?calculate_factorial(n)))
以下提供兩種方法 供參考,第一種方式為自己構(gòu)造求階乘的函數(shù),第二種則直接使用了Python標(biāo)準(zhǔn)庫,代碼如下:
一、
自己構(gòu)造階乘函數(shù)
from functools import reduce
def factorial(n):
l = range(1,n+1)
result = reduce(lambda x,y:x*y,l)
return result
for i in range(1,6): print('{}! = {}'.format(i, factorial(i)))
二、
Python標(biāo)準(zhǔn)庫
from math import factorial
for i in range(1,6):
print("{}! = {}".format(i,factorial(i)))
兩段程序輸出一樣,如下:
def recursion(n):
if n==1:
return 1
else:
return n*recursion(n-1)
list=[]
#定義一個(gè)空的列表,將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print("將1-10的階乘寫入列表,使用sum函數(shù)求和") #顯示效果明顯
for i in range(1,11):
list.append(recursion(i))# 將調(diào)用遞歸函數(shù)生成的階乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
#顯示效果明顯,center(80,"*")標(biāo)題放置位置
print("for循環(huán)直接調(diào)用遞歸函數(shù)求和".center(80,"*"))
for i in range(1,11):
sum_0 +=recursion(i)
print(sum_0)
這是1-10的階乘求和,你可以參考下!
輸出的結(jié)果
1 math.factorial(x)
用python計(jì)算n的階乘的方法!(含示例代碼)
2. reduce函數(shù)
用python計(jì)算n的階乘的方法?。ê纠a)
3. 遞歸實(shí)現(xiàn)
文章題目:python編寫階乘函數(shù) python中階乘函數(shù)
當(dāng)前路徑:http://jinyejixie.com/article44/doseoee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、微信小程序、、微信公眾號(hào)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)