Python代码,用于分别添加所有偶数和奇数,并显示为单独的总计

时间:2014-01-22 09:38:11

标签: python

我需要编写一个收集所有偶数的Python程序,将它们相加并将总数打印到变量X中。然后它应该收集所有奇数,将它们相加并将它们打印到变量Z中。

数字范围1-20

昨天我接受了Python的介绍,我没有以前的编程知识

我也试过在0处开始X并在每一步中添加两个但是它一直给我语法错误。

这是我做过的一些代码:

even_list = []
odd_list = []
li = range(1,21)
for i in range(len(li)):
    if i/2 == 0 :
        even_list.append(li[i])
    else :
        odd_list.append(li[i])
print even_list
print odd_list

3 个答案:

答案 0 :(得分:1)

通过这种方式,您可以获得0到20之间的数字列表

x = range(0,20)

这样您就可以过滤偶数

even = filter(lambda x : x % 2 == 0, x)

这样你总结所有的平均值

x = reduce(lambda x, y : x + y, even, 0)

为奇数做正确的事情; - )

由于您不熟悉Python,我建议您阅读Python参考手册中的Built-in functions页面,找到一些有趣的函数来执行这些操作。

答案 1 :(得分:0)

def get_even_odd_sum(N):
    sum_even, sum_odd = (0, 0)
    for i in range(1, N+1):
        if i%2:
            sum_odd += i
        else:
            sum_even += i
    return (sum_even, sum_odd)

(X, Z) = get_even_odd_sum(20)
print X
print Z

提示:在SO上提出类似问题之前,您可能需要考虑阅读python之类的循环,范围和函数的基础知识。

答案 2 :(得分:0)

可能有帮助:

>>>def func(n):
>>>  num = range(n)
>>>  odd = [x for x in num if x%2]
>>>  even = [x for x in num if not x%2 and x != 0]
>>>  return odd, even

>>> odd, even = func(20)
>>> print odd 
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> print even 
[2, 4, 6, 8, 10, 12, 14, 16, 18]