Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环的新手问题_Python_Sum_Range - Fatal编程技术网

Python 循环的新手问题

Python 循环的新手问题,python,sum,range,Python,Sum,Range,在Python3中尝试执行以下任务时,我的脑子已经死了。请帮忙 编写一个循环,计算以下系列数字的总和:1/30+2/29+3/27+⋯+ 29/2+30/1 for numerator in range(1, 31, 1): denominator = (31 - numerator) quotient = numerator / denominator print(quotient) 我可以算出每一个的商,但我不知道如何有效地求和。效率: In [794]: sum(

在Python3中尝试执行以下任务时,我的脑子已经死了。请帮忙

编写一个循环,计算以下系列数字的总和:1/30+2/29+3/27+⋯+ 29/2+30/1

for numerator in range(1, 31, 1):
    denominator = (31 - numerator)
    quotient = numerator / denominator
    print(quotient)
我可以算出每一个的商,但我不知道如何有效地求和。

效率:

In [794]: sum(i*1.0/(31-i) for i in range(1, 31)) # i*1.0 is for backward compatibility with python2
Out[794]: 93.84460105853213

如果必须在循环中显式执行此操作,请参阅@Bill的提示

你就快到了,所以我给你一些提示

# initialize a total variable to 0 before the loop

for numerator in range(1, 31, 1):
    denominator = (31 - numerator)
    quotient = numerator / denominator
    print(quotient)
    # update the total inside the loop (add the quotient to the total)

# print the total when the loop is complete
如果你想看到一个更具Pythonic-idomatic的解决方案,请参阅张晓晨的答案

total = 0
for numerator in range(1, 31, 1):
    denominator = (31 - numerator)
    quotient = numerator / denominator
    print(quotient)
    total += quotient
print/return(total)

请注意,您将进行一些取整,可能会得到一个您不期望的答案。

这样做是为了跟踪求和

total = 0

for numerator in range(1, 31, 1):
    denominator = (31 - numerator)
    quotient = numerator / denominator
    total = total + quotient

print(total)

这不是代码生成器:这是我第一次接触编程。现在回想起来,这个问题令人尴尬-X