Python編程案例:計算自然數n的階乘

2020-12-22 米粒教育

阿萌又接到一個新的編程任務,要求用Python編寫一個計算自然數n階乘的程序,用於學生利用計算機來計算n的階乘。

阿萌梳理了一下編程要求,他認為程序需要實現下面這些功能:

程序啟動後,程序在Shell窗口輸出提示信息「請輸入一個自然數,輸入quit可退出程序:」,學生輸入一個自然數,程序計算自然數的階乘,並將計算結果輸出到Shell窗口。程序再次輸出「請輸入一個自然數:」,等待學生的下次輸入。

程序需要判斷學生輸入的是否是自然數,如果不是自然數,再判斷是否是quit,若是quit退出程序,否則程序輸出錯誤提示「輸入錯誤,請輸入一個自然數或者輸入quit退出程序」。

阿萌找出了程序的輸入與輸出:

程序的輸入是自然數n,是整數類型,輸入的來源是學生在程序運行過程中通過程序輸入。程序獲取用戶的輸入可以使用input函數,input函數返回的是字符串,如果需要輸入整數,可以使用int函數將字符串轉換為整數。

程序的輸出是自然數n階乘的結果,在程序中通過print函數來輸出自然數n階乘的結果。

阿萌根據上面的功能描述,繪製了程序流程圖:

在流程圖中,計算自然數的階乘步驟屬於子過程,後面會給出這個子過程的流程圖。

在流程圖中,當用戶輸入quit時程序退出。在其它情況下,程序要保持運行狀態,等待用戶的輸入。前面已經學習了如何讓程序一直保持運行狀態,可以使用while循環來保持程序的運行狀態。

阿萌準備使用while循環來保持程序的運行狀態,循環條件為True,循環體為計算自然數階乘的代碼,在循環體中需要判斷學生輸入的是否是quit,如果是quit,調用break語句退出循環,程序結束。

相關焦點

  • 全體自然數的和等於 -1/12 | 混亂博物館
    再令全體自然數的和為S,減去這個S0,則有:S-S0=0+4+0+8+0+12+0+16……也就等於4個S,也就是說-S0等於3個S,所以S等於負十二分之一。所以雖然往期節目裡一般的收斂法不能直接求出全體自然數的和,但仍然間接暗示了這個怪異的結論。事實上,不論用什麼方法計算全體自然數的和,只要不是無窮大,就是-1/12。
  • n很大時n的階乘如何計算?斯特靈公式幫你解決一切
    斯特靈公式(Stirling's formula)是一條用來取n階乘近似值的數學公式。一般來說,當n很大的時候,n階乘的計算量十分大,所以斯特靈公式十分好用;而且,即使在n很小的時候,斯特靈公式的取值已經十分準確。
  • Python的range函數與for循環語句
    ● 使用for循環語句迭代序列對象● 掌握range函數的使用方法Python提供的另外一個循環結構就是for循環語句,Python提供的for循環語句和Java、C++等程式語言提供的for語句不同,Python中的for循環更像是shell或是腳本語言中的foreach循環。
  • 5個無聊Python程序,用Python整蠱你的朋友們吧
    無聊程序之五該程序在我看來能排到第一,甚至可以和當下最火的槍茅臺案例結合一下。) time.sleep(3) print('沒事的,來抱一哈\n')else: print("既然如此...")
  • 在數學中,零的階乘為什麼等於1?
    對階乘進行解析延拓後,就能得到著名的伽馬函數,我們根據伽馬函數,就可以得到"0!=1"。階乘階乘是指所有小於以及等於某個數的正整數之積,記為:n!=1×2×3×……×n;在排列組合中我們經常遇到階乘運算,比如5個人按照順序進行排隊的話,就有「5!=120種」排列方法。
  • Python 初學者進階的九大技能
    右側是摺疊了if/else語句的ATOM另一種辦法是將你的代碼通過 www.pythontutor.com可視化,就可以逐行查看代碼運行的方式了。使用pythontutors執行代碼4.下面的案例中,我們將整數和字符串混合在了一起:my_list = ['a' , 'b' , 'n' , 'x' , 1 , 2 , 3, 'a' , 'n' , 'b']for item in my_list:print (f'current item: {item}, Type:
  • Python和C/C++交互的幾種方法總結
    來源:http://code.replays.net/201706/95155.htmlPython程式語言Python 是一種面向對象、解釋型電腦程式設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年。Python語法簡潔而清晰,具有豐富和強大的類庫。
  • 角度為自然數度數的sin值是否都能算出精確值?比如sin1°等
    問題的提出:  角度為自然數度數的sin值是否都能算出精確值?比如sin1°,sin2°,sin3°等等。  .  我們很容易計算sin18°的精確值,它可以用含有根號的一個代數式表示。  .  那麼問題來了,還有哪些角度為自然數度數的sin值能算出精確值?  根據三角函數的特性,我們只需要考慮n=1~90自然數時,sin(n°)是否能計算就可以了。  .
  • 會Python的人,在職場將非常搶手
    ▲Python做的小工具自動回覆信息這也是為什麼,我再次想把風變編程-python小課 推薦給大家。研究編程課4年來,風變科技推出了【風變編程-python小課】,和風變合作之前,我了解到:在課程研發的過程中,他們發現,很多小白都對「學python」這件事有著深深的誤解。比如:很多人會覺得自己數學不行、邏輯思維不行,編程太難學不會。
  • 人生苦短,我用Python
    創始人Guido van Rossum是BBC出品英劇Monty Python’s Flying Circus(中文:蒙提·派森的飛行馬戲團)的狂熱粉絲,因而將自己創造的這門程式語言命名為Python。Python英式發音:/ˈpaɪθən/ ,中文類似『拍森』。而美式發音:/ˈpaɪθɑːn/,中文類似『拍賞』。
  • 你知道根號2的階乘等於多少嗎?
    歐拉發現的伽瑪函數使得計算任意數的階乘變為可能,這是數學界的一大亮點,伽瑪函數Γ公式如下圖本篇我們來計算一個常見的無理數的階乘,如根號2,它的階乘等於多少呢?帶入上述的伽瑪函數Γ,精通微積分的朋友會發現這個積分沒有原始函數,也就是無法用牛頓萊布尼茲公式來計算j但數學的偉大就是為了解決科學難題而產生的,幸好我們有辛普森公式,它可以解決任意給定區間的積分,也就是無限近似趨近實際值辛普森公式如下
  • 深圳Python培訓班打造行業高標準Python人才
    Python火的原因1、python相比別的高級語言集成度更高,除了執行的效率低些,開源可以調用的類庫實在太多了,要實現一個功能,如果換作傳統的程式語言,需要實現基本的功能模塊,但直接調用類庫很方便的搞定,特別適合零基礎的學習, 幾行代碼就能實現很強大的功能。
  • 推薦幾款可以直接在手機上編程的app(包含Java、C、Python等)
    點擊上方藍色字體,關注我們這裡介紹幾款可以在手機上編程的
  • Perl還是Python或者R
    從事生物信息工作,至少要一門程式語言,那麼到底該選擇哪門程式語言呢?
  • 使用Python的concurrent.futures輕鬆實現並發編程
    但為了理智起見,你可以這樣簡化並發編程,而不必大錯特錯:   在Python中,如果手頭的任務是I/O密集型,可以使用標準庫的threading 模塊,或者如果任務是計算密集型,那麼multiprocessing模塊很有助益。
  • 少兒編程軟體python官網下載安裝過程圖文演示,家長都說好
    最近剛剛重新更換了電腦,對於這臺電腦來說,python就是未認識的朋友,順便給大家演示一下如何找到python、安裝python、打開python,希望能給各位朋友提高很多的學習借鑑作用。如何找到python我最喜歡的搜尋引擎,就是百度,首先打開百度的網址,在百度的搜索框裡,輸入」python「,點擊搜索百度一下,或者直接敲擊鍵盤的回車鍵,(本文是手敲出來的,一邊寫本文,一邊截圖演示):搜索結果如下,我們往下找到帶有官網字樣的網址,點擊進入
  • python與c語言的語法有哪些不一樣的
    在眾多程式語言之中,想必很多人都聽說過Python和C語言,在進行編程學習之前,大家都會問:python和c語言的區別有哪些?我該如何選擇?接下來我們來看看吧。python與C的區別如下:1、語言類型:Python是一種基於解釋器的語言,會逐行讀取代碼,將Python編譯為字節碼,由大型C程序解釋;C是一種編譯語言,完整的原始碼將直接編譯為機器代碼,由CPU直接執行。
  • 無編程基礎,無計算機基礎都能看懂的零基礎入門Python
    Python可以應用於眾多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等眾多領域。目前業內幾乎所有大中型網際網路企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。
  • Python到底是個啥?為什麼這麼多人都要學?
    02python優勢Python是無所不能的程式語言,它完全採用面向對象的方式,語言結構介於 C 語言和 Perl 語言之間。在Web和Internet開發、網絡爬蟲、數據計算和分析、人工智慧、桌面界面開發、軟體開發、後端開發都能看到python的身影。Quora、Pinterest和Spotify都使用python作為其後端開發語言;國內的豆瓣、果殼網等,國外的Google、Dropbox等都在使用python作為Web開發。