python实践第5章-函数和lambda表达式

2023-11-17

1.定义一个函数,该函数可接收一个 list 作为参数,该函数使用直接选择排序对 list排序
def ssort(list):
    lens=len(list)
    for i in range(lens):
        min=i
        for j in range(i,lens):
            if list[min]>list[j]:
                min=j
        list[i],list[min]=list[min],list[i]
list1=[23,12,66,90,25,3]
ssort(list1)
print(list1)
[3, 12, 23, 25, 66, 90]
2.定义一个函数,该函数可接收一个 list 作为参数,该函数使用冒泡排序对 list排序
def bsort(list):
    lens=len(list)
    for i in range(lens):
        for j in range(0,lens-i-1):
            if list[j]>list[j+1]:
                list[j],list[j+1]=list[j+1],list[j]
list2=[23,12,66,90,25,3] 
bsort(list2)
print(list2)
[3, 12, 23, 25, 66, 90]
3.定义一个 is leap(year 函数,该函数可判断 yea1 是否为闰年。若是闰年,则返回 True ;否则返回 False
def is_leap(year):
    if year%100!=0 and year%4==0 or year%400==0:
        return True
    else:
        return False
print(is_leap(2004))
print(is_leap(2019))
True
False
4.定义一个 ount_str_ char( my_ st1 )函数,该函数返回参数字符串中包含多少个数字、 少个英文字母、多少个空白字符、多少个其他字符
def count_str_char(my_str):
    a,b,c,d=0,0,0,0
    for i in my_str:
        if i.isdigit():
            a+=1
        elif i.isalpha():
            b+=1
        elif i.isspace():
            c+=1
        else:
            d+=1
    print('数字:',a,'英文字母:',b,'空白字符:',c,'其他字符:',d)
str1 = 'dhgs%  jjji126gfd5'
count_str_char(str1)
数字: 4 英文字母: 11 空白字符: 2 其他字符: 1
5.定义 fn(n)函数,该函数返回1到n的立方和
def fn(n):
    sum=0
    for i in range(n+1):
        sum+=i*i*i
    return sum
print(fn(1))
print(fn(2))
print(fn(3))
print(fn(4))
1
9
36
100
6.定义 fn(n )函数,该函数返回n的阶乘
def fn(n):
    if n==0:
        return 1
    else:
        return n*fn(n-1)
fn(3)
            
6
7.定义一个函数,该函数可接收 list 作为参数,该函数用于去除 list 中重复的元素
def fn(list):
    temp=[]
    for i in list:
        if i not in temp:
            temp.append(i)
    return temp
list3=[7,7,'l','l','o','#']
print(fn(list3))
[7, 'l', 'o', '#']
8.定义 fn(n)函数,该函数返回一个包含n个不重复的0~100之间整数的元组
import random
def fn(n):
    temp=[]
    for i in range(n):
        num = int(random.randint(0,100))
        if num not in temp:
            temp.append(num)
    return tuple(temp)
print(fn(15))
(64, 19, 93, 57, 91, 10, 5, 98, 74, 14, 94, 85, 89, 36, 34)
9.定义 fn(n)函数,该函数返回一个包含n个不重复的大写字母的元组
def fn(n):
    temp=[]
    for i in range(n):
        ch=chr(random.randint(65,91))
        if ch not in temp:
            temp.append(ch)
    return tuple(temp)
print(fn(8))
('S', 'Q', 'R', 'G', 'C', 'Z')
10.定义 fn(n)函数,其中n表示输入n行n列的矩阵(数的方阵)。在输出时,先输出n行n列的矩阵,再输出该矩阵的转置形式
def fn(n):
    matrix=[i for i in range(1,n*n+1)]
    for i in range(n):
        for j in range(n):
            print(matrix[i*n+j],end=' ')
        print('')
    print('------------')
    for i in range(n):
        for j in range(n):
            print(matrix[j*n+i],end=' ')
        print('')
fn(3)
1 2 3 
4 5 6 
7 8 9 
------------
1 4 7 
2 5 8 
3 6 9 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实践第5章-函数和lambda表达式 的相关文章

随机推荐

  • it技术交流社区与学习资料的网站大全

    点击上方蓝字 优派编程 选择 加为星标 第一时间关注原创干货 对国内技术社区 博客园 https www cnblogs com 掘金 https juejin cn 思否 https segmentfault com 开源中国 https
  • Ubuntu18.04升级到20.04

    升级方式 命令行升级 正常情况下使用如下命令即可 sudo do release upgrade 当提示如下错误信息时 得先升级本地软件包 Please install all available updates for your rele
  • 区块链的简单实现

    区块链的简单实现 什么是区块链 块结构 创世区块 hash 验证块的有效性 记录数据 从其他节点接收一个块 编写测试代码 测试结果 完整代码 什么是区块链 一个维护着一个持续增长的有序数据记录列表的这么一个分布式数据库 下面我将简单用nod
  • 玩转X-CTR100 l STM32F4 l U-Blox NEO-6M GPS卫星定位-nmealib解码库移植解码

    我造轮子 你造车 创客一起造起来 塔克创新资讯 塔克社区 www xtark cn 塔克博客 www cnblogs com xtark 本文介绍X CTR100控制器 扩展GPS卫星定位模块 型号为GY GPS6MV2 使用U BLOX
  • 数据库连接自动断开:CJCommunicationsException

    报错信息 com mysql cj exceptions CJCommunicationsException The last packet successfully received from the server was 99 117
  • JavaSE基础知识(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 基础 杂记 JRE JVM 常用类库 JDK JRE 诸多工具 如j
  • vue 循环遍历 搜寻资料

    写vue 循环遍历的 大全例子解释 转载连接 https www cnblogs com xulei1992 p 6015416 html https www jqhtml com 49765 html https blog csdn ne
  • mysql truncate语句_MySQL DELETE语句和TRUNCATE TABLE语句的区别

    在MySQL数据库中 DELETE语句和TRUNCATE TABLE语句都可以用来删除数据 但是这两种语句还是有着其区别的 下文就为您介绍这二者的差别所在 MySQL DELETE语句和TRUNCATE TABLE语句功能相似 但是二者究竟
  • Unity 游戏入门 九、 精灵动画 Sprite Animation

    1 Animator 为了在游戏对象上有动画 需要添加一个组件Animator 在工程窗口中 双击Robot 预制体 如图所示 添加Animator组件 2 Creating a New Controller 在工程窗口Animator文件
  • 分组排序取前几条之子查询和用户变量的使用

    关于一次面试的sql题 题目 在一张订单表中有三个字段 order id sale num type 类型有 衣服 鞋子 皮包 现在希望取出每种类型销量前三的记录 我在面试时候还想 啥 啥玩意 要我写单表的查询 看不起我 这不就是group
  • [QT编程系列-31]:多线程机制 - Qthread工作原理

    目录 一 Qthread工作原理 二 QThread的start 方法 三 QT 线程的生命周期 四 事件循环机制 五 QThread自带信号 六 如何在run函数中多次执行 七 QThread什么时候发送finished信号 八 为什么不
  • VS2019运行报错:引发了未经处理的异常:读取访问权限冲突。_Pnext 是 0xE。

    我们在运行VS2019代码时 报错如下信息 反复检查了代码 发现代码是没有问题的 我的代码如下 include
  • 用Java写一个五子棋小游戏

    棋盘是15 15 可以自己规定 游戏规则 1 对局双方各执一色棋子 2 空棋盘开局 3 黑先 白后 交替下子 每次只能下一子 4 棋子下在棋盘的空白点上 棋子下定后 不得向其它点移动 不得从棋盘上拿掉或拿起另落别处 5 黑方的第一枚棋子可下
  • vue form表单最简写法

    vue form表单最简单写法 div div
  • 均值不等式链的几何证明

    均值不等式链的几何证明 这是我们高中时所见到的不等式链的关系 接下来将用几何图形的方法进行证明 首先 做圆 A 直径 BC 在圆上异于 BC 取一点 D 连接 DA DB DC 并做 DE 垂直与 BC 交 BC 与点 E 设 CE a B
  • springbooot_如何正确使用mybatis连接mysql

    MyBatis不是spring旗下的框架 所以在springboot中使用还是需要配置一下 不过配置非常简单 1 第一步 创建springboot项目 需要联网 2 第二步 就是给项目起名的一些操作 完成后点击next 3 第三步 别忘了在
  • CK-GW208-EC与汇川PLC配置走EtherCAT通讯指南

    CK GW208 EC这款产品是晨控智能一款工业级 IO LINK 主站网关 支持 EtherCat 工业协议 可通过以太网接口 对 IO LINK 从站设备进行控制 CK GW208 EC 是一款支持标准工业 Ethercat协议的 IO
  • Java网络多线程——UDP编程

    UDP编程通信 基本介绍 类DatagramSocket和DatagramPacket 数据包 数据报 实现了基于UDP协议网络程序 UDP数据报通过数据报套接字DatagramSocket发送和接收 系统不保证UDP数据报一定能安全送到目
  • Mac OS Wireshark 权限不足

    Mac OS Wireshark 权限不足 切换为root用户 sudo su root 切换到 dev目录 cd dev 查看bpf文件的权限 Wireshark监控数据包需要有bpf的读权限 ls l grep bpf bpf文件的权限
  • python实践第5章-函数和lambda表达式

    1 定义一个函数 该函数可接收一个 list 作为参数 该函数使用直接选择排序对 list排序 def ssort list lens len list for i in range lens min i for j in range i