求和与除法示例(Python)

2 投票
5 回答
38744 浏览
提问于 2025-04-15 16:05
>>> sum((1, 2, 3, 4, 5, 6, 7))
28
>>> 28/7
4.0
>>> sum((1,2,3,4,5,6,7,8,9,10,11,12,13,14))
105
>>> 105/7
15.0
>>>

我该如何用循环来自动计算这个加法和除法呢?

补充说明:也许我没说清楚 - 我想要一个循环,不断地进行加法(比如7的倍数,比如1到7,1到14,1到21等等),直到达到x(x是用户输入的数字)

好的,我想明白了:

def sum_and_div_of_multiples_of_7(x):
  y = 7
  while (y <= x):
    mof7 = range(1,y)
    print ('mof7 is', mof7)

    total = sum(mof7)
    print ('total =', total)

    div = total/7
    print ('div =', int(div), '\n')

    y = y+7     # increase y

x = 70
sum_and_div_of_multiples_of_7(x)

5 个回答

0

如果我理解你的问题没错的话,你想要接受用户输入的一个数字x,然后先把1到7的数字加起来,再除以7。如果这个结果大于x,就停下来;如果不大于x,就继续把1到14的数字加起来,再除以7,检查这个结果。如果还是不够,就继续以7为单位加下去?

我简单的解决方案是

x = input('user input - enter your value here')
y = 0
i = 1
while(x > y):
    q = sum(range(1, i*7+1))
    y = q/7
    print y
    i+=1

print "userinput:  %d" % (x)
print "iterations:  %d" %(i)
print "end value: %d" %(y)
5

直接的答案:

def sum_to_number_divided_by_seven(i):
  return sum(range(i+1)) / 7

更高效的答案:

def sum_to_number_divided_by_seven(i):
  return (i*(i+1))/14
1
def sumdiv7(limit):
    for i in range(limit):
        result = sum(range(i*7)) / 7
        print "For", i, ", sumdiv = ", result

举个例子:

>>> sumdiv7(4)
For 0 , sumdiv =  0
For 1 , sumdiv =  3
For 2 , sumdiv =  13
For 3 , sumdiv =  30

这个方法非常简单,你想要计算7的倍数的和。

要得到第i个7的倍数,只需要用 i*7 就可以了。

range 是一个Python函数,用来生成从0到 x 的数字列表。

sum 用来计算一个列表的总和。

只需要把这些部分组合在一起就行了。

撰写回答