卡在练习中,可能需要帮助!
到目前为止,我的代码是。练习:创建一个获取列表的函数:
[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]
有什么人可以用正确的方式指点我吗?谢谢。
答案 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]