2016-10-06 105 views
-3

我在試圖解決如何將列表中的所有偶數乘以2,並用7添加所有奇數。然後以降序呈現列表。它必須是一個以列表作爲參數的函數。乘以偶數,加奇數

我在這裏找到了這個在stackoverflow,但它不是真的我以後,因爲這個例子總結了偶數到一個產品。

這是我的代碼:使用它

new_list = [item * 2 if item % 2 == 0 else item + 7 for item in L] 

,然後排序:

L = [45, 22, 2, 498, 78] 

def EvenOdd(L): 

product = 2 
resp = 7 
elem = None 

for elem, val in enumerate(L): 
elem += 1 
if elem % 2 == 0: 
    product *= elem 
if elem % 2 == 1: 
    resp += elem 
    result = L[elem] 
    result.sort() 
    result.reverse() 
print(result) 
+0

對不起,忘鏈接到例如:http://stackoverflow.com/questions/39835536/python-multiplying-所有的偶數數字 – Allizon

+5

所以你的問題在於作弊作業太困難了,因爲代碼片段並不完全是你所需要的? – jonrsharpe

回答

0

您可以使用創建新的列表

new_list.sort(reverse=True) 

輸出應該是這樣的:

[996, 156, 52, 44, 4] 
0

您可以查看列表並檢查數字是否爲偶數。然後根據結果進行乘法/加法。一個例子如下所示:

original_list = [45, 22, 2, 498, 78] 
new_list = [] 

for number in original_list: 
    if number % 2 == 0: #check to see if the number is even 
     new_list.append(number*2) 

    else: 
     new_list.append(number+7) 

sort_list = sorted(new_list) 
descending_list = sort_list[::-1] 
print (original_list) 
print (descending_list) 

其中所述的輸出給出:

[45, 22, 2, 498, 78] 
[996, 156, 52, 44, 4]