2021-05-02

python 将一个数字序列中的奇数扩大3倍,且偶数变为其平方值后按升序排序输出

要求:
(1)完成题目要求的函数为func(list1)。
(2)数字序列列表由推导式自动生成后传给函数func。
(3)map()函数、lambda()函数、filter()函数这三个函数都要使用到。

import random
a=16
n=0
ds=[]#创建空列表,用于存放下面的数据
ds1=[]
odd1=[]
gjh=[]
while True:#也可以用for循环语句生成初始列表
    sh=random.randint(1,1000)#随机生成一个[1,100]范围内的整数
    ds.append(sh)#将生成的随机整数追加到ds这个数列的最后一个
    n+=1#每循环一次n就加1
    if n==a:
        break#当循环次数到达设定值a后就终止循环
print('初始列表为:',ds)
odd=list(filter(lambda x:x%2!=0,ds))#在列表中找到奇数,filter函数用于选择
for i in ds:
    if i%2==0:
        ds1.append(i)#在列表中找到偶数并将其加到空列表ds1中
eve=list(map(lambda x:x**2,ds1))#把偶数都平方
def func(list1):#创建函数,将奇数三次方
    for i in list1:
        i=i**3
        odd1.append(i)
    return odd1#函数的返回值
for i in eve:
    gjh.append(i)
for j in func(odd):
    gjh.append(j)#后面这两步是将平方和三次方后的两个数列合成为一个新的数列
print('变换后的新列表为:',sorted(gjh))#用sorted方法将新数列进行默认的由小到大的排序

代码图片:
在这里插入图片描述
在这里插入图片描述
运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值