【发布时间】:2023-03-20 23:19:01
【问题描述】:
我想创建一个函数my_sum_div(a, b, div=10),它将计算从a 到b 的数字的总和,打印出这个总和,以及所有可以被div 整除的a+(a+1)+(a+2)+(a+3) 类型的中间总和.
我希望程序按如下方式工作:
my_sum_div(1, 10, 2)
输出应如下所示:
sums divisible by 2:
6
10
28
36
sum of numbers between 1 and 10 is: 55
现在我已经这样做了:
def my_sum(a, b):
print("sum of numbers between", a," and", b," is", sum(i for i in
range(a, b+1)))
def my_sum_div(a, b, div = 3):
print("sums divisible by", div,":")
l = []
s = ","
x = sum(i for i in range(a, b+1)
for i in range(a, b+1):
if (i%div==0):
l.append(str(i))
print(s.join(l))
print("sum of numbers between", a, " and", b, " is", sum(i for i in
range(a, b + 1))
我已经尝试了几个小时。我知道我的代码只检查(a, b+1) 之间的哪些数字可以被div 整除,但是我如何让它计算并打印所有可以被div 整除的中间和?我的第一个函数只计算给定区间内所有整数的总和。我现在希望后续函数计算在给定间隔内可被 div 整除的所有中间和并打印所有这些。
提前谢谢你。
【问题讨论】:
-
顺便说一句,有一个常用的公式只是使用
b的值。对于所有值的总和1..ben.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B%AF -
提示:如果你的代码块被正确缩进,它会更容易理解——例如
my_sum_div()是否定义在my_sum()的内部? (我认为不是,但看起来就是这样)在缩进四个空格以开始代码块之后,请务必在def ...之后的行上缩进另外四个(或两个),就像在将 python 写入时一样你的编辑器/IDE。 :)