Python中如何求多个数的和

2024-04-18 08:12:31 发布

您现在位置:Python中文网/ 问答频道 /正文

k = 1
M = input("Enter an integer: ")
for M in range(k,M):
    s = 1/float(M)
    print sum(s)

如何得到s的和?我一直收到一条错误消息:

File "C:/Python27/summation.py", line 7, in <module>
  print sum(s)
TypeError: 'float' object is not iterable

Tags: inan消息forinput错误rangeinteger
3条回答

s不是一个列表,而是一个浮点数。请尝试以下操作:

k = 1
M = input("Enter an integer:")
print sum(1/float(s) for s in range(k, M))

试试这个:

s=[]
k = 1
M = input("Enter an integer: ")
for M in range(k,M):
    s.append(1/float(M))
print(s)
print(sum(s))

输出(M=10):

[1.0, 0.5, 0.3333333333333333, 0.25, 0.2, 0.16666666666666666, 0.14285714285714285, 0.125, 0.1111111111111111]
2.8289682539682537

在这个源代码中,值M被重写两次。如果改变for循环中的M,就可以得到s的和。 固定的女同学在下面。你知道吗

k = 1
M = input("Enter an integer: ")
S = []
for V in range(k,M): S.append(V)
print sum(s)

另外,如果你想得到一个列表的和,你必须做一个值列表并在列表中附加值(V)。你知道吗

相关问题 更多 >