在给定奇数或偶数的条件下,如何对列表中的偶数或奇数求和?

2024-10-08 19:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

所以问题是要求我返回给定奇数或偶数条件的列表中偶数或奇数元素的和。如果条件是奇数,我必须返回所有奇数的列表。如果列表为空/值与条件不匹配,则返回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

当我试着运行它时,什么都没有出现——甚至没有错误!谢谢你的帮助


Tags: in元素列表forifvaluedefcondition
2条回答
  1. 例如,您需要调用函数:conditionalSum(l,“偶数”)
  2. 对于“偶数”和“奇数”两个条件,您不返回任何值。更正代码:
l = [1,2,3,4,5,6]

def conditionalSum(value, condition):
    s = 0
    if condition == "even":
        for i in value:
            if i % 2 == 0:
                s += i
    elif condition == "odd":
        for i in value:
            if i % 2 !=0:
                s += i
    return s

print(conditionalSum(l,"even"))
print(conditionalSum(l,"odd"))

可以使用内置的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

相关问题 更多 >

    热门问题