如何用Python編寫一個求 1到n階乘之和的程序

各位許久不見了,甚是想念!

前段時間我進入高中階段學習,一直還沒有適應,現在好些了就繼續寫博客了。

看到很多人關注我,點贊或是評論,我感覺太高興了!

C語言這塊我暫時先放下了,我想自己學學Python,也會繼續分享自己的心得體會,謝謝各位的支持了!

 

先看這裏

博主的編譯環境:

VS 2017 Community

運行環境:WINDOWS 10

問題:如何用Python編寫一個求 1~n階乘之和的程序

 這個問題我們首先可以在紙上演算演算

大致考慮三個環節:

  1. 獲取正確數據(如 給定 n =3 是  Sum = 1 + 1*2 + 1*2*3= 9)
  2. 計算
  3. 反饋到輸出設備

於是可以編寫出以下代碼:

n=1                                 #變量初始化
sum = 1                             #階乘之和
multiply = 1                        #每個數的階乘

n = int(input("計算1~n的階乘的和    n = "))
temp = n
if n<=0:
    print("非法輸入")
elif n==1:
    print("1的階乘是1")
else:
    while n >= 2:
        for i in range(2, n+1):     #計算每個值的階乘
            multiply *= i           #1*2*3....*n
        sum += multiply
        multiply = 1
        n = n-1
    print("1~%d的階乘之和爲%d"%(temp, sum))

我沒有用到容器,就是單純的用循環也可以解決這個問題(如上)

我感覺這種編程思維和C語言很像,缺少了Python的風格。因爲這段代碼幾乎沒有利用到Python的特性(怕是後遺症了)

 

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