欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 階乘詳解

 更新時間:2021年10月04日 14:47:17   作者:科學的海洋  
這篇文章主要介紹了詳解用python的階乘,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

相信大家對階乘都不陌生。不知道階乘的可以看這里:

一個數(shù)的階乘:

在這里插入圖片描述

比如5的階乘

在這里插入圖片描述

在python中大部分教程一般推薦用遞歸函數(shù)完成:

#!/usr/bin/python3
"""Python2,3都可以"""
def factorial(n):#主體函數(shù)
    if n == 1:
        return 1
    return n * factorial(n-1)
res = input("請輸入n:")
print(factorial(res))

但是這樣不僅閱讀不方便,還有可能在n非常大時造成棧溢出的情況。

>>> factorial(1000)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 4, in factorial
  File "<stdin>", line 4, in factorial
  File "<stdin>", line 4, in factorial
  [Previous line repeated 995 more times]
  File "<stdin>", line 2, in factorial
RecursionError: maximum recursion depth exceeded in comparison

所以我更傾向于這個:

#!/usr/bin/python
li = []
def factorial(n):
    global li
    result = 1
    for i in range(n):
        li.append(i+1)
    for j in li:
        result = result * j
    return result
print(factorial(int(input("請輸入n:"))))

通過單一列表存儲,可以有效減少內(nèi)存使用,并且這個調(diào)用只占用幾個棧,不會造成溢出。

或者math模塊中也有函數(shù)可以使用:

import math
a = input("N:")
fac = math.factorial(a)
print(fac)

要么就是非常簡單的for:

#中文變量名是合法的!
#中文變量名是合法的!!
#中文變量名是合法的!!!
數(shù) = input("數(shù):")
a = 1
for i in range(1,數(shù)+1):
    a = a * i
print(a)

非常容易理解~

參考:https://docs.python.org/3

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python中15種3D繪圖函數(shù)總結(jié)

    python中15種3D繪圖函數(shù)總結(jié)

    這篇文章主要為大家詳細介紹了python中15種3D繪圖函數(shù)的用法,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • 利用Python實現(xiàn)給圖像添加標簽

    利用Python實現(xiàn)給圖像添加標簽

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)給指定的圖片添加標簽,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以參考一下
    2023-07-07
  • Python 繪圖和可視化詳細介紹

    Python 繪圖和可視化詳細介紹

    這篇文章主要介紹了Python 繪圖和可視化詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • python中的變量如何開辟內(nèi)存

    python中的變量如何開辟內(nèi)存

    python中的變量如何開辟內(nèi)存?今天小編就為大家介紹一下python中變量開辟內(nèi)存的方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python 解決OPEN讀文件報錯 ,路徑以及r的問題

    Python 解決OPEN讀文件報錯 ,路徑以及r的問題

    今天小編就為大家分享一篇Python 解決OPEN讀文件報錯 ,路徑以及r的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中字符串與編碼示例代碼

    Python中字符串與編碼示例代碼

    這篇文章主要介紹了Python中字符串與編碼示例代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 淺談Python中的常用內(nèi)置對象

    淺談Python中的常用內(nèi)置對象

    今天帶大家復習Python基礎(chǔ)知識,文中對Python常用的內(nèi)置對象作了非常詳細的介紹及代碼示例,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設置及可以直接運行的程序代碼

    Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設置及可以直接運行的程序代碼

    在數(shù)據(jù)可視化中matplotlib.pyplot模塊的plot函數(shù)是一個非常重要且常用的工具,用于繪制2D圖形,這篇文章主要給大家介紹了關(guān)于Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設置及可以直接運行的程序代碼,需要的朋友可以參考下
    2024-03-03
  • 基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲

    基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲

    只有你想不到,沒有我找不到寫不了的好游戲!這篇文章就來和大家分享一下如何基于Python+Pygame實現(xiàn)變異狗大戰(zhàn)游戲,感興趣的可以了解一下
    2023-03-03
  • 詳解Python安裝tesserocr遇到的各種問題及解決辦法

    詳解Python安裝tesserocr遇到的各種問題及解決辦法

    這篇文章主要介紹了詳解Python安裝tesserocr遇到的各種問題及解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論