【发布时间】:2021-09-25 21:33:12
【问题描述】:
遇到这个问题时我正在做作业:
编写一个函数 mysum_bigger_than ,它的工作原理与 mysum 相同, 除了它需要在 *args 之前的第一个参数。那 参数表示在总和中包含参数的阈值。 因此,调用 mysum_bigger _than(10, 5, 20, 30, 6) 将返回 50——因为 5 和 6 不大于 10 。这个函数应该同样适用于任何类型 并假设所有参数都是同一类型。请注意,'>' 和 '
下面代码的问题:如果没有阈值本身,我无法对大于阈值的元素求和!
def mysum_bigger_than(*values):
if not values:
return values
output = values[0]
for value in values[1:]:
if value < output:
continue
else:
output += value
return output
print(mysum_bigger_than(10,5,20,30,6)) #returns 60 instead of 50
print(mysum_bigger_than('mno', 'abc', 'pqr', 'uvw', 'efg', 'xyz')) #returns everything i need with unnecessary 'mno'
【问题讨论】:
标签: python function loops sum slice