python课后作业总结

2023-11-07

课后作业1. 一个列表中有多种字符型的元素,要求一将非字符型的全部改成字符型,要求二将所有字符型中的大写字母改成小写。
需要用到的知识有:
1.lower()函数,功能:将大写字母改成小写
2.列表生成式[s.lower() for s in L],其中s为列表中的元素而非列表
3.isinstance(元素 , 数据类型)函数,功能:判断元素是否为某一数据类型
4.L.index(需要查找的元素)函数,功能:查找列表中元素的下标
5.L.insert(位置,需要插入的元素)函数,功能:将元素 插入列表的指定位置
实现的代码为:
这里写图片描述
课后作业2. 将字符串首尾的空格去掉
方法一:使用while循环与slice功能实现
方法二:使用递归函数与slice功能实现
这里写图片描述
课后作业3. 汉诺塔的实现
需要使用到的知识是:递归,以及一些数学总结
该博客对python递归法解决汉诺塔问题的解释更加清晰

扩展作业:求出列表某元素的下标,列表中含有0个,一个或者多个该元素。
假设列表为:org = [1, 2, 2, 33, 2, 4, 5, 2],分别求出元素1、元素2的下标,其中元素2的所有下标都要求出。
方法一:先判断元素的个数,然后判断该个数的值,若为0则…若为1则..若大于1则以该个数为循环次数逐一获取元素下标。
方法二:比方法一简单,使用enumerate()函数
这里写图片描述

课后作业4. 利用迭代寻找出列表中的最大最小值,并返回一个tuple值。
1.列表是否可以迭代,使用isinstance(L,Iterable)函数判断,不满足迭代条件时,应该给出错误提示“raise TypeError(‘error’)”
2.列表为空时的情况

#iteration 迭代的使用

# for i,ch in enumerate(['S','H','E']):
    # print(i,ch)

# for x,y in [(1,1),(2,4),(3,9)]:
    # print(x,y)

# for i,x in enumerate ([(1,1),(2,4),(3,9)]):
    # print(i,x)
#比较此三者的不同从而掌握enumarate()函数的应用及在for循环中引入两个变量。for循环中最多也只能引入两个变量



#功能:使用迭代找出list中的最大最小值,然后返回一个tuple

# def ite(L):
    # min=L[0]
    # max=L[0]
    # for i in L:
        # if i<min:
            # min=i
        # if i>max:
            # max=i
    # print(min,max)
    # return (min,max)
# L=[96,11,17]
# L=[]#会报错
# tuple=ite(L)
# print(tuple)



#完善以上程序,需要加上的功能:1.判断数据类型是否可以迭代,若不可以应该输出类型错误
#2.当输入的数据长度为0或者小于0时应该输出“None”,否则会报"indexError",可令L为空值进行测试
#3.实现类似Java的小标循环输出

from collections.abc import Iterable

def ite(L):
    if(not isinstance(L,Iterable)):#在python中注意严格区分大小写,eg:iterable会报错,none与None也是不同的
        raise TypeError('error')
        return None#功能1
    elif len(L)==0 :
        return(None,None)#功能2
    else:   
        min=L[0]
        max=L[0]
        for i in L:
            if i<min:
                min=i
            if i>max:
                max=i
        #print(min,max)
        return (min,max)

L=[96,11,17]
# L=123
# L=[]
tuple=ite(L)
#下标循环输出tuple
for i,ch in enumerate(tuple):#功能3
    print(i,ch)


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

python课后作业总结 的相关文章

随机推荐

  • prometheus-basic_auth加密配置

    文章目录 前言 一 basic auth加密的引入 二 使用步骤 1 生成basic auth密钥 2 将密钥文件写入config yml文件内 3 查看prometheus相关参数 4 修改prometheus配置 5 启动服务 5 1
  • 为什么Java中只有值传递?

    1 必知概念 实参 方法被调用时传入的实际值 形参 在定义方法时括号内定义的参数列表即为形参 它用来接收方法调用时传入的实参 值传递 当方法被调用时 实参通过形参将其副本传入方法内 接下来对形参的操作就是在对实参副本的操作 并不会影响实参本
  • ​​​​​​​自动化批量漏洞扫描脚本定制

    github上找到一款并发框架 POC T https github com Xyntax POC T 可以优美的进行并发操作 上面所述的内容大多可以用插件联合POC T进行 因为POC T不能一次使用多个插件 于是笔者对POC T框架进行
  • Xshell5登录报“找不到匹配的host key 算法“的错误

    Xshell5登录报 找不到匹配的host key 算法 的错误 现象 解决方法一 解决方法二 现象 xshell5登录欧拉22 03时报错 找不到匹配的host key 算法 解决方法一 1 编辑 etc ssh sshd config
  • win10电脑任务栏右侧小图标消失解决方法

    WIN10系统任务栏 左边是窗口键和快捷图标 右边是时钟 系统喇叭 网线连接图标 任务栏左边没问题 窗口键和快捷图标都良好 右侧的系统图标无显示 只显示任务栏的底色 尝试操作隐藏任务栏再开启任务栏后 图标恢复正常了 再点击右侧任务栏任意图标
  • 网络环路导致公司网络瘫痪问题排查

    问题 公司网络突然很不稳定 跟踪发现大量丢包 问题排查 1 怀疑电信网络 设备有问题 联系电信经理 安排工程人员过来排查 排查发现入户网络正常 更换电信入户光猫后网络还是不稳定 还是大量丢包 2 机房排查 2 1 关闭所有交换机 然后再一台
  • Anaconda换国内源(清华源、中科大源)

    命令行执行 Windows下 Anaconda 清华源 conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs free conda config
  • PPP协议实现透明传输的2种方法以及工作状态

    文章目录 1 PPP协议帧格式 2 字节填充 2 1 零比特填充方法 不使用序号和确认机制 PPP协议的工作状态 1 PPP协议帧格式 7E 十六进制数0x7E 在PPP协议里代表帧头和帧尾 二进制表示为0111 1110 占一个子节 FF
  • 机器学习SVM函数

    目录 1 SVM的损失函数 2 SVM的核方法 2 1 什么是核函数 2 1 1 核函数概念 2 1 2 核函数举例 2 1 2 1 核方法举例1 2 1 2 2 核方法举例2 2 2 常见核函数 2 3 小结 3 SVM回归 1 SVM的
  • springboot的负载均衡

    springboot的负载均衡 eueka作为注册中心 负载均衡使用的是Ribbon Ribbon负载均衡的策略有轮询 重试 权重 默认轮询 这是它独特的算法去调用具体的服务 在消费者启动动类中加上 Bean LoadBalanced pu
  • C++ 机房预约系统(七):老师模块——老师登录和注销、查看所有预约功能、审核预约功能的具体实现

    9 教师模块 在这个模块中 登录和注销和管理员与学生的实现一样 查看所有预约也和学生的查看所有预约实现一样 审核预约基本上和学生的取消预约一样 不同的是 学生模块 是通过学号和预约状态找到可以取消的预约记录 在老师模块 是通过预约状态找到可
  • Ik分词器(自定义分词-mysql)

    引言 ik分词器的分词范围不够广泛 某些特定行业的专业用语分词能力就不够了 此时就需要自定义分词 与停顿词 1 下载ik分词器源码 git地址 https github com medcl elasticsearch analysis ik
  • Lombok 的正确使用姿势

    文章目录 1 Lombok 是什么 2 安装 Lombok 3 Spring Boot 集成 Lombok 4 使用 Lombok 4 1 注解一览表 4 2 部分使用介绍 Getter lazy true Value Builder Su
  • R语言基本统计分析——抽样

    R语言基本统计分析 抽样 简单随机抽样 简单随机抽样是指从数据总体中任意抽取指定数量的数据作为样本 其中每个可能被抽取中的样本概率相等 可以用R语言中的sample 函数进行随机抽样 抽取方法分为 重置抽样 不重置抽样 R语言命令为 sam
  • Ubuntu 18.04 配置ibus中文拼音输入法(超简单)

    Ubuntu 18 04系统想安装中文输入法 利用ibus输入法配置 只要三步 注意 你的Ubuntu需要可以上网 因为要下载一系列安装包 第一步 首先需要给Ubuntu18 04安装Chinese语言包支持 先打开Settings窗口 g
  • playwright连接已有浏览器操作

    文章目录 playwright连接已有浏览器操作 前置准备 打开本地已有缓存的Chrome 理解 指定端口打开浏览器 连接指定端口已启动浏览器 推荐 playwright连接已有浏览器操作 前置准备 pip install playwrig
  • Linux和windows下setsockopt用法

    Linux和windows下setsockopt用法 linux struct timeval timeout 3 0 3s int ret setsockopt sock fd SOL SOCKET SO SNDTIMEO timeout
  • xml 文档树

    xml 文档树 XML documents form a tree structure that starts at the root and branches to the leaves XML 文档树起始于 根元素 并以此为基础扩展文档
  • 优质网址收集

    1 免费PPT模板下载网址都是免费且免登录 网址为 http www ypppt com http 51pptmoban com 2 在线工具网站 包括格式转换 文字识别 图片压缩 视频压缩等 网址为 http www nicetool n
  • python课后作业总结

    课后作业1 一个列表中有多种字符型的元素 要求一将非字符型的全部改成字符型 要求二将所有字符型中的大写字母改成小写 需要用到的知识有 1 lower 函数 功能 将大写字母改成小写 2 列表生成式 s lower for s in L 其中