Python3乘以并添加到列表中。

时间:2016-10-19 11:05:08

标签: list python-3.x add multiplying

卡在练习中,可能需要帮助!

  

练习:创建一个获取列表的函数:

     
    

[123,4,125,69,155]

  
     

作为论据。该函数应将所有偶数乘以1和   为所有奇数加6。回答修改后的列表   数字顺序,下降。

到目前为止,我的代码是。

list1 = [123, 4, 125, 69, 155]

def multi():
    for num in list1:
        if num % 2 == 0:
            num * 1
        else:
            num + 6
        return list1

在答案中我把`def multi():

我得到的答案是

  

[123, 4, 125, 69, 155] <class 'list'>

正确的答案是[161,131,129,75,4]

有什么人可以用正确的方式指点我吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

您修改for循环变量num本身而不是原始列表值 下面的代码应该完成这项工作

list1 = [123, 4, 125, 69, 155]
def multi():
    for i,num in enumerate(list1):
        if num % 2 == 0:
            num *= 1
        else:
            num += 6
        list1[i] = num # modify list value 
    return sorted(list1)[::-1] # this do sorting then reverse from large to small

答案 1 :(得分:0)

无需乘以1.只需检查数字是否为奇数加6。

list1 = [123, 4, 125, 69, 155]
def multi():
    for i,num in enumerate(list1):
       if num % 2 != 0:
           num +=6 
       list1[i] = num
    return sorted(list1)[::-1]