2016-10-06 4 views
-3

リストのすべての偶数に2を乗算し、すべての奇数に7を加える方法を解決しようとしています。そして、降順でリストを提示します。リストを引数として取る関数でなければなりません。奇数を掛けて奇数を加算する

私はこれをstackoverflowで見つけましたが、この例では偶数を1つの製品に集計しているため、実際は私の後ろにはありません。

これは私のコードです:

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 = [item * 2 if item % 2 == 0 else item + 7 for item in L] 

と使用して、それを並べ替える:

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]