主頁 > 知識庫 > python3 將階乘改成函數(shù)形式進行調用的操作

python3 將階乘改成函數(shù)形式進行調用的操作

熱門標簽:電銷機器人 金倫通信 鄭州智能外呼系統(tǒng)中心 crm電銷機器人 云南地圖標注 400電話 申請 條件 南京crm外呼系統(tǒng)排名 北京外呼電銷機器人招商 汕頭電商外呼系統(tǒng)供應商 賓館能在百度地圖標注嗎

定義一個函數(shù),求一個數(shù)的階乘,比如求5!

#方法1,遞歸

def jc(num):
  if num==1:
    return 1
  else:
    return num*jc(num-1)
print(jc(5)) #返回120

# 方法2 ,for遍歷

def func(num):
  '求一個數(shù)字的階乘,例如5!'
  sum=1
  for i in range(1,num+1):
    sum=sum*i #可以簡化sum*=i
  return sum
func(5)
print(func(5))#返回120

# 方法3,lambda表達式寫

#lambda不能調用數(shù)組,如列表。

# 這里需要借助一個函數(shù)去做(這個函數(shù)調用了lambda表達式作為參數(shù),即需要使用高階函數(shù)reduce#使用高階函數(shù),需要調用一個模塊# 將階乘改成函數(shù)形式進行調用functools

from functools import reduce
print(reduce(lambda x,y:x*y,range(1,6)))

補充:Python極少代碼實現(xiàn)階乘函數(shù)

from functools import reduce
def my_factorial(x):
  if x  0:
    raise ValueError('參數(shù)不能為負數(shù)')
  return reduce(lambda x, y: x*y, range(1, x+1)) if x != 0 else 1

運行結果:

>>> for i in range(10):
...   print(my_factorial(i), end=' ')
>>> 1 1 2 6 24 120 720 5040 40320 362880

用好lambda、reduce、filter、map等可以很方便地定義函數(shù)。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python 怎么定義計算N的階乘的函數(shù)
  • python遞歸函數(shù)求n的階乘,優(yōu)缺點及遞歸次數(shù)設置方式
  • Python3 實現(xiàn)遞歸求階乘
  • python求前n個階乘的和實例
  • Python階乘求和的代碼詳解

標簽:梅州 昆明 浙江 懷化 西寧 石家莊 文山 錫林郭勒盟

巨人網(wǎng)絡通訊聲明:本文標題《python3 將階乘改成函數(shù)形式進行調用的操作》,本文關鍵詞  python3,將,階乘,改成,函數(shù),;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python3 將階乘改成函數(shù)形式進行調用的操作》相關的同類信息!
  • 本頁收集關于python3 將階乘改成函數(shù)形式進行調用的操作的相關信息資訊供網(wǎng)民參考!
  • 推薦文章