>>> 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)
答案 0 :(得分: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 :(得分: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的倍数,
要获得7的第i个倍数,它只是i*7
range
是一个python函数,用于获取从0到x
的数字列表
sum
总结了一个清单。
把这些碎片放在一起
答案 2 :(得分:0)
我不确定你想要什么,但也许是这样的:
sum(range(x*7+1))/7
答案 3 :(得分:0)
我的版本:
def sum_of_nums_divided_by_7(num):
return reduce(lambda x, y: x+y, range(num)) / 7
答案 4 :(得分:0)
如果我正确理解你的问题。你希望能够接受用户输入 - x,然后求和值1-7然后除以7,如果qoutient高于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)