Python練習題2.5求奇數分之一序列前N項和(存在問題)


本題要求編寫程序,計算序列 1 + 1/3 + 1/5 + ... 的前N項之和。

輸入格式:

輸入在一行中給出一個正整數N。

輸出格式:

在一行中按照“sum = S”的格式輸出部分和的值S,精確到小數點后6位。題目保證計算結果不超過雙精度范圍。

代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

n=int(input())

sum = 0
def xl(m):
    if m==1:
        return 1
    return (1/((m*2)-1)) + xl(m-1)
sum = xl(n)
print("sum = {:.6f}".format(sum))

這個代碼存在問題,在提交的時候有一個非零返回。

百度看了其它的程序,發現都是用循環寫的直接輸出,提交沒有報錯,我用return返回然后進行轉換都不行。

誰來幫我解釋解釋呀。

我的輸出值sum和一般輸出的sum區別在哪里?另外我的這個怎么轉換成和一般輸出的sum一樣?


讀書和健身總有一個在路上


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM