所以问题是要求我在给定条件奇数或偶数的情况下返回列表中偶数或奇数元素的总和。所以如果条件是奇数,我必须返回所有奇数的列表。如果列表为空/值不符合条件,则返回 0。
这是我目前所拥有的:
l = [1,2,3,4,5,6]
def conditionalSum(value, condition):
s = 0
if condition == "even":
for i in l:
if i % 2 == 0:
s += i
elif condition == "odd":
for i in l:
if i % 2 !=0:
s = s+ i
else:
return 0
当我尝试运行它时,什么也没有出现 - 甚至没有错误!感谢任何帮助
最佳答案
可以使用内置的 sum
函数将您的代码修改为更符合 Python 风格。
l = [1, 2, 3, 4, 5, 6]
def conditionalSum(value, condition):
if condition == "even":
return sum(i for i in l if i % 2 == 0)
elif condition == "odd":
return sum(i for i in l if i % 2 == 1)
else:
return 0
print(conditionalSum(value, "even"))
输出:
12
顺便说一句,你的函数 conditionalSum
中有一个未使用的变量 value
关于python - 给定奇数或偶数条件,如何对列表中的偶数或奇数求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62783691/