我需要编写一个收集所有偶数的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
答案 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]