詳解用python計算階乘的幾種方法
更新時間:2019年08月14日 10:01:04 作者:WBerica
這篇文章主要介紹了詳解用python計算階乘的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
第一種:利用functools 工具處理
import functools result = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(5) print(result)
第二種:普通的循環(huán)
x = 1 y = int(input("請輸入要計算的數(shù):")) for i in range(1, y + 1): x = x * i print(x)
第三種:利用遞歸的方式
def func(n): if n == 0 or n == 1: return 1 else: return (n * func(n - 1)) a = func(5) print(a)
以上三種方式分別采用了不同的方法,第二種是最容易理解的,第一種是最pythonic的,而第三種則是易用性最高的。第三種直接定義一個階乘函數(shù),隨時都可以調(diào)用,從而得到不同值。
希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python虛擬環(huán)境創(chuàng)建和使用方法(使用自帶的venv模塊)
這篇文章主要如何在Python中使用虛擬環(huán)境,包括創(chuàng)建、激活、使用、生成requirements.txt文件、卸載包和刪除虛擬環(huán)境,虛擬環(huán)境有助于隔離項目依賴,避免版本沖突,并便于部署,需要的朋友可以參考下2024-12-12Python使用WebSocket和SSE實現(xiàn)HTTP服務(wù)器消息推送方式
本文介紹了兩種實時數(shù)據(jù)獲取的技術(shù):WebSocket和SSE,WebSocket是全雙工通信協(xié)議,支持雙向通信,但需要專門定義數(shù)據(jù)協(xié)議,SSE是一種單工通信技術(shù),基于HTTP的流式數(shù)據(jù)傳輸,客戶端開發(fā)簡單,但只能單工通信2024-11-11解決Python報錯ValueError list.remove(x) x not&nbs
文章討論了在Python開發(fā)過程中遇到的列表移除元素時出現(xiàn)的"list.remove(x): x not in list"錯誤,文章首先解釋了錯誤的原因,特別是在循環(huán)中使用remove方法時,然后,文章通過幾個例子展示了這種錯誤的情況,并解釋了為什么會出現(xiàn)這樣的結(jié)果2024-11-11