Python實現鍵盤輸入數值求階乘

要想實現這個程序,先要理解什麼是階乘。
一個正整數的階乘(factorial)是所有小於及等於該數的正整數的積,並且0的階乘爲1。自然數n的階乘寫作n!。
如:n!=nx(n-1)x(n-2)x(n-3)x…x3x2x1
先定義一個變量n,因爲階乘是1乘2乘3…一直乘到n,所以這裏用循環會好理解一點,再定義一個sum=1,將每循環一次得到的乘積賦值給sum,再把sum乘以下次循環的數值,就得到了1x2x3…xn.這裏用到for()循環,因爲range裏的取值是前開後閉,即左邊的值能取到1,右邊取不到n的值,只能取到(n-1)得值,爲了能取到n得值,在這裏要把它的範圍設置在(1到n+1)
實現代碼如下:
在這裏插入圖片描述
因爲階乘得到的值特別大,我這裏給它限定值的範圍在(1-100),超過這個值,就會提醒超過界限。這是核心代碼。
既然是從控制檯輸入的數值,控制檯一般接收的數值都是字符串類型的,計算的話,就需要把類型轉換成整型,就是圖中的int(n).如果是字母的話,就需要輸出異常提醒。這個就需要一個方法n.isdigit()來判斷輸入的數值類型是不是數字。如果是數字,執行階乘運算,否則,輸出異常。我這裏加了另外一個判斷,爲了實現當我輸入特定的字符時,程序自動退出.實現代碼如下:
在這裏插入圖片描述
接下來就是獲取鍵盤的輸入事件了,用的是input()方法。實現代碼如下:
在這裏插入圖片描述
最後我想實現它的循環輸入,重複判斷,直到我自動退出結束。python提供了一個while函數。當滿足條件時循環執行。直到我 輸入 quit 後退出程序
全部代碼如下:
在這裏插入圖片描述
運行結果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章