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ù)字的正負(fù),還是為0. if num<0: ? ? print("負(fù)數(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的爬蟲程序編寫框架Scrapy入門學(xué)習(xí)教程
Python的一大優(yōu)勢就是可以輕松制作Web爬蟲,而超高人氣的Scrapy則是名副其實的Python編寫爬蟲的利器,這里我們就來看一下Python的爬蟲程序編寫框架Scrapy入門學(xué)習(xí)教程:2016-07-07Python?頁面解析Beautiful?Soup庫的使用方法
Beautiful?Soup?簡稱?BS4(其中?4?表示版本號)是一個?Python?中常用的頁面解析庫,它可以從?HTML?或?XML?文檔中快速地提取指定的數(shù)據(jù),這篇文章主要介紹了springboot?集成?docsify?實現(xiàn)隨身文檔?,需要的朋友可以參考下2022-09-09Python自動化辦公之Word文檔的創(chuàng)建與生成
這篇文章主要為大家詳細(xì)介紹了如何通過python腳本來自動生成一個?word文檔,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-05-05win10系統(tǒng)下python3安裝及pip換源和使用教程
這篇文章主要介紹了win10系統(tǒng)下python3安裝及pip換源和使用教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01