【发布时间】:2021-03-14 13:10:36
【问题描述】:
我需要解决一个任务:
一个函数filter_list,它只接受一个参数(整数列表)并在一个元组中返回两个值
- 列表中 >= 13 和
- 列表中 >0 和 13 倍的元素总和
所以我对如何实现这一点有了概念上的理解,但是当我开始编写代码时,我无法将这两个值分配给函数外部的新变量。
numbers = [1, 10, 13, 23, 34, 45, 90]
def filter_list(nums):
for e in nums:
result1 = sum(e for e in nums if e >= 13 and e <= 97)
return result1
for e in nums:
result2 = sum(e for e in nums if e>0 and e % 13 == 0)
return result2
print(result1, result2)
print(filter_list(numbers))
result_sum = filter_list(numbers)
print(result_sum)
【问题讨论】:
-
一旦你点击了
return语句,函数就会退出并且不会继续运行。因此,对于您的第一个 for 循环的第一次迭代,它将退出。它永远不会到达任何其他迭代,当然也不会到达第二个 for 循环。
标签: python function loops for-loop