在Python中,除了第一个偶数之外,对列表中的数字求和?

2024-09-29 23:31:07 发布

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

我正在尝试编写一个函数,它可以对除列表中第一个偶数以外的所有数字求和。当遇到第一个偶数时,我想到了一个break函数来退出循环,但我无法构建它。我需要帮助。谢谢。在

例如:

数字=[4,6,7,8,9,10] 总和必须是6+7+8+9+10=40(跳过第一个偶数“4”)

这是我的不完整代码:

nmbrs = [4, 6, 7, 8, 9, 10]





def totsum_effen(n):
    #sum the total numbers except for the first even number
    while True:
        sum = 0
        for i in nmbrs:
            if i % 2 == 0:

                break

            sum = sum + i


        return (sum)

Tags: the函数代码列表fordef数字total
3条回答

我只需要求和,然后减去第一个偶数(如果存在的话)。在

>>> numbers = [4, 6, 7, 8, 9, 10]
>>> sum(numbers) - next((x for x in numbers if x % 2 == 0), 0)
40

你可以做的就是求和数组,减去第一个偶数

nmbrs = [4, 6, 7, 8, 9, 10]

def totsum_effen(nmbrs):
    #sum the total numbers except for the first even number
    even_nmbrs = [num for num in nmbrs if num % 2 == 0]
    temp_sum = sum(nmbrs)
    if len(even_nmbrs) > 0:
        temp_sum -= even_nmbrs[0]
    return temp_sum

试试这个

nmbrs = [4, 6, 7, 8, 9, 10]

def totsum_effem():
    nmbrs_copy = nmbrs.copy()
    for index, num in enumerate(nmbrs):
        if num % 2 == 0:
            del nmbrs_copy[index]
            break
    return sum(nmbrs_copy)

^{pr2}$

相关问题 更多 >

    热门问题