刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

多选题

阅读下面代码,说法正确的是?

def transform(myls):
    tmp_ls = []
    for num in myls:
        if num > 0 and num % 2 == 0:
            tmp_ls.append(num ** 2)
        elif num > 0 and num % 2 != 0:
            tmp_ls.append(num + 3)
        elif num < 0:
            tmp_ls.append(num * -1)
    return tmp_ls
    
ls = [-2,2,3,-4,0,5,6]
print(transform(ls))

A

输出的结果中全是正数

B

输出的结果中含有数字0

C

输出的结果全是偶数

D

输出的结果中重复出现了两次的数是8

使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

【喵呜刷题小喵解析】:对于输入列表`ls = [-2,2,3,-4,0,5,6]`,执行`transform(ls)`后,首先会检查每个数字是否大于0且为偶数,如果是,则将其平方后添加到临时列表`tmp_ls`中;如果大于0但不是偶数,则将其加3后添加到`tmp_ls`中;如果小于0,则将其取反后添加到`tmp_ls`中。

对于列表`ls`中的每个元素:

* -2:小于0,取反后变为2,添加到`tmp_ls`
* 2:大于0且为偶数,平方后变为4,添加到`tmp_ls`
* 3:大于0但不是偶数,加3后变为6,添加到`tmp_ls`
* -4:小于0,取反后变为4,添加到`tmp_ls`
* 0:既不是大于0的偶数也不是大于0的奇数,也不是小于0的数,所以不会被添加到`tmp_ls`
* 5:大于0但不是偶数,加3后变为8,添加到`tmp_ls`
* 6:大于0且为偶数,平方后变为36,添加到`tmp_ls`

所以,输出的结果列表为`[2, 4, 6, 4, 0, 8, 36]`,其中数字8出现了两次。

因此,选项D是正确的。其他选项都不正确。
创作类型:
原创

本文链接:阅读下面代码,说法正确的是? def transform(myls):     tmp_ls = [

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share