Python之求任意正整數(shù)的階乘方式
Python求任意正整數(shù)的階乘
階乘(factorial)是一個數(shù)學(xué)術(shù)語,由基斯頓·卡曼(Christian Kramp,1760~1826)于 1808 年提出。
一個正整數(shù)n的階乘是所有小于及等于該數(shù)的積,亦即 n!=1×2×3×...×(n-1)×n,寫作 n!。0的階乘為1。
利用python函數(shù)可以便利計算任意正整數(shù)的階乘,
代碼如下:
#求n的階乘
n=eval(input())
def fact(n):
s=1
for i in range(1,n+1):
s*=i
return s
print(fact(n))或者利用遞歸方式:
n=eval(input())
def fact(n):
if n<=1:
return 1
else:
return fact(n-1)*n
print(fact(n))輸入整數(shù)用python代碼求階乘
一個正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。
自然數(shù)n的階乘寫作n!。
亦即n!=1×2×3×...×(n-1)×n。
階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
python代碼:
#整數(shù)階乘
# 輸入需要求取階乘的整數(shù)
num=int(input("請輸入整數(shù):"))#輸入的數(shù)字的類型是整數(shù)型(int)
# 創(chuàng)建一個列表用來保存1-n的整數(shù)(非必須,只是為了好看點)
s=[]
fac=1
# 判斷輸入的數(shù)字的正負,還是為0.
if num<0:
? ? print("負數(shù)沒有階乘")
elif num==0:
? ? print("0的階乘為1.")
else:
? ? for i in range(1,num+1):
? ? ? ? fac=fac*i#累乘1-num的整數(shù)賦值給fac
? ? ? ? s.append(str(i))#為了美觀添加的,如果上面沒有定義s這個列表就不需要寫。
? ? print("{}的階乘為:{}={}".format(num,"*".join(s),fac))
? ? #如果沒有s,就不需要第二個占位{}(左邊到右邊)。joim:連接列表里面的元素,前面的字符作為連接的字符,
? ? #需要注意的是列表里面的元素需要先轉(zhuǎn)化為字符形式才能連接。假如輸入的整數(shù)為5,輸出結(jié)果為:
請輸入整數(shù):5
5的階乘為:1*2*3*4*5=120
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python PIL庫讀取設(shè)置圖像的像素內(nèi)容方法示例
這篇文章主要為大家介紹了使用Python PIL庫Image模塊中的getpixel和putpixel方法讀取設(shè)置圖像的像素內(nèi)容實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明
這篇文章主要為大家介紹了PyTorch常用函數(shù)torch.cat()中dim參數(shù)使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04

