2014-01-22 67 views
-7

我需要編寫,收集所有的偶數Python程序Python代碼,增加了起來,並打印總到一個變量X.那麼就應該收集所有奇數,加入他們,並打印成變量Z.爲單獨添加所有偶數和奇數號碼並顯示到單獨彙總

範圍1-20

我被介紹到Python昨天的數字和我有沒有以前的編程知識

我也試圖與開始X在0並且在每一步中添加兩個,但它一直給我提供語法錯誤。

這是一些代碼,我做的:

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 
+2

你必須嘗試代碼的東西。 –

+2

歡迎來到Stack Overflow!看起來你希望我們爲你寫一些代碼。 雖然很多用戶都願意生產代碼爲遇險, 編碼器海報時已經試圖解決自己的問題,他們通常只提供幫助。 證明這一工作的一個好方法是包括到目前爲止你寫的代碼,例如 輸入(如果有的話),預期的輸出,並且輸出你實際得到(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論什麼適用)。 您提供的細節越多,您可能收到的答案越多。檢查[常見問題]和[問] –

+0

你的意思是**所有**偶數? – greole

回答

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頁面發現一些有趣的功能,做這類事情。

+0

謝謝..我用你的指針,並得到了輸出:X - 90ÿ-100。雖然第三種說法相當令人費解。因爲我用奇數的變量「奇數」,並且當我完全按照這種方式輸入時(用奇數替換偶數),我得到了結果。 – user3222827

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這樣的問題之前,需要考慮像循環,範圍和功能蟒蛇的基本閱讀了。

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] 
+0

「!=」和「<>」之間的區別是什麼? – user3222827

+0

@在Python 2.x的user3222827沒有,但是在Python 3.4'='是唯一可接受的操作 – joaquin

相關問題