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

标签 python function for-loop if-statement conditional-statements

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

相关文章:

python - 如何将列表写入 Excel 列?

Python 序列语法

r - User-Function,已定义但未通过代码找到的形式对象

php - 不用 PHP 就可以用 MYSQL 完成的事情

c++ - 如果需要,如何使用 Boost 库将具有可变数量参数的处理程序传递给类

python - 'type'对象不可下标错误

python - 无法读取来自 kafka 主题的最新消息

c++ for循环中的简单求和

arrays - 在 bash 中循环切片数组的索引

javascript - 在 `.remove()` 循环内调用 `for` 不会删除所有元素