从零开始的python学习(七)P102+P103+P104+P105+P106+P107
本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6&share_source=copy_web&vd_source=404581381724503685cb98601d6706fb
上节课学习匿名函数lambda的使用,函数的递归操作,斐波那契数列,常用的内置函数-类型转换函数,常用的内置函数-数学函数你,常用的内置函数-迭代器操作函数,常用的内置函数-其他函数,本节课学习本章总结和章节选择题,实战一:计算列表元素的最大值,实战二:提取字符串中所有的数字,实战三:字符串中字母大小写转换,实战四:实现操作符in的判断功能。
一、本章总结和章节选择题
介绍完本章的知识点,下面为部分选择题:
选B,函数的返回值可有可无,有的时候可以return,没有的话就是可以省略不写。
选C,因为全局变量和局部变量可以相同,但是发生冲突时,局部变量的优先级更高。
因为参数可有可无,也可以是多个也可以没有。
二、实战一:计算列表元素的最大值
随机生成使用random包,所以先import random。然后使用遍历,将后面每一个元素跟第一个元素相比,如果比第一个元素要大,更大的那个赋给lst[0]
#实战一:不用内置函数max找到最大值
import random
def get_max(lst):x=lst[0] #x储存的是元素的最大值,第一步我们先假设索引为0的为列表中的最大值#遍历,将第一个(索引为0)分别与第二个,第三个,...,最后一个元素进行对比,这个过程需要使用遍历来实现for i in range(1,len(lst)):if lst[i]>x:x=lst[i] #对最大值进行重新赋值return x
#调用
lst=[ random.randint(1,100) for item in range(10)]
print(lst)
#计算列表元素的最大值
max=get_max(lst)
print(max)
结果如下:
三、实战二:提取字符串中所有的数字
#实战二:使用isdigit累加数值
def get_digit(x):s=0 #存储累加值lst=[]for item in x:if item.isdigit(): #如果是数字lst.append (int(item))#求和s=sum(lst)return lst,s
#准备函数的调用
s=input("请输入一个字符串: ")
#调用
lst,x=get_digit(s)
print('提取的数字列表为:',lst)
print('累加值为:',x)
运行结果如下;
四、实战三:字符串中字母大小写转换
如何判断大小写,可以使用ASCII码去判断,因为大小写之间的ASCII之间差32,如果判定为大写,那就是介于A与Z之间,并且转换为小写的只需要加上32即可;同理如果将小写转成大写就是把ASCI减去32即可。不是字母的直接加在列表里面就行。
#实战三:将大写字母转化为小写的,将小写字母转化为大写的
def lower_upper(x): #x为字符串,并且它在这里是形式参数,后面需要给它赋值lst=[]for item in x:if 'A'<=item<='Z': #如果字符是大写字母lst.append(chr(ord(item)+32)) #ord()这个内置函数可以将字符串转为Unicode码整数,加上32,chr()整数码转成字符elif 'a'<=item<='z': #如果字符是小写字母lst.append(chr(ord(item) - 32))else: ##如果字符都不是字母了,直接添加即可lst.append(item)return ''.join(lst) #''.join(lst)表示用空字符串 ''作为连接符,把列表里的字符元素用空字符串连接,变成最终字符串返回
#1、list.append是一个函数,学过其他编程语言就知道,这是调用列表类里的一个函数。
#2、这个函数作用是在列表list最后item添加元素
#准备调用
s=input('请输入一个字符串:')
new_s=lower_upper(s) #函数的调用
print(new_s)
结果如下:
五、实战四:实现操作符in的判断功能
def get_find(s,lst):for item in lst:if s==item:return Truereturn False
lst=['hello','world','python']
s=input('请输入您要判断的字符串:')
result=get_find(s,lst)
print('存在' if result else '不存在') #if...else的简写,三元运算符 if result==True if result利用到对象的布尔值
结果如下:
请输入您要判断的字符串:hello
存在进程已结束,退出代码为 0(或者另一种情况)
请输入您要判断的字符串:html
不存在进程已结束,退出代码为 0
本节完
相关文章:

从零开始的python学习(七)P102+P103+P104+P105+P106+P107
本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…...

Linux--进程的调度
1.进程切换 CPU上下⽂切换:其实际含义是任务切换, 或者CPU寄存器切换。当多任务内核决定运⾏另外的任务时, 它保存正在运⾏任务的当前状态, 也就是CPU寄存器中的全部内容。这些内容被保存在任务⾃⼰的堆栈中, ⼊栈⼯作完成后就把下⼀个将要运⾏的任务的当前状况从该…...
Hadolint:Dockerfile 语法检查与最佳实践验证的终极工具
在容器化应用开发的浪潮中,Dockerfile 作为构建 Docker 镜像的核心配置文件,其质量直接影响着应用的安全性、稳定性和可维护性。然而,随着项目复杂度的增加,手动检查 Dockerfile 不仅耗时,还容易遗漏潜在问题。今天,我要向大家介绍一款强大的工具——Hadolint,它将彻底改…...
Python爬虫实战:研究Hyper 相关技术
一、项目概述 本项目展示了如何结合 Python 的异步编程技术与 Hyper 框架开发一个高性能、可扩展的网络爬虫系统。该系统不仅能够高效地爬取网页内容,还提供了 RESTful API 接口,方便用户通过 API 控制爬虫的运行状态和获取爬取结果。 二、系统架构设计 1. 整体架构 系统采…...
基于langchain的简单RAG的实现
闲来无事,想研究一下RAG的实现流程,看网上用langchain的比较多,我自己在下面也跑了跑,代码很简单,以次博客记录一下,方便回顾 langchain LangChain 是一个基于大型语言模型(LLM)开发…...

VmWare Ubuntu22.04 搭建DPDK 20.11.1
一、开发环境 Ubuntu 版本 二、增加虚拟机的网卡 给虚拟机增加1个网卡,加上原来的网卡,一共2个 网络适配器作为 ssh 连接的网卡,网络适配器2作为 DPDK 运行的网卡。 三、NAT模式简介 这里待补充,网上都是那一张图,看不懂 四、使网卡名称从0开始命名 进入管理员权限 s…...

selenium-自动更新谷歌浏览器驱动
1、简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题,因为有些网页数据是通过JavaScript动态加载的。selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如输入…...
34、协程
在Linux系统中,协程是一种轻量级的线程,它们允许在多个任务之间切换,而不需要操作系统的线程调度。协程可以分为有栈协程和无栈协程,以及对称协程和非对称协程。 有栈协程 有栈协程每个协程都有自己的栈空间,允许协程…...
Apache POI操作Excel详解
Maven依赖 <!-- 核心库(支持.xls) --> <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId> </dependency><!-- 支持.xlsx格式 --> <dependency><groupId>org.a…...

Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志
第 1 步:使用 Docker Compose 部署 Elasticsearch 和 Kibana 首先,我们需要创建一个 docker-compose.yml 文件来定义和运行 Elasticsearch 和 Kibana 服务。这种方式可以轻松管理两个容器的配置和网络。 创建 docker-compose.yml 文件 在一个新的文件夹…...

OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数在 GPU 上执行双边滤波操作,是一种非线性平滑滤波器,能够在 保留边缘的同时去除噪声。 函数原型 void cv::cuda:…...

华为手机开机卡在Huawei界面不动怎么办?
遇到华为手机卡在启动界面(如HUAWEI Logo界面)的情况,可依次尝试以下解决方案,按操作复杂度和风险由低到高排序: 🔧 一、强制重启(优先尝试) 1.通用方法 长按 电源键 音量下键…...
并行硬件环境及并行编程
文章目录 A1. (并行编程 基于的)硬件环境 的 基本模型A2. 特定的硬件实现B1. 并行编程基本模型与编程技术✅ 并行编程的一般流程**第一阶段:基于“编程直觉模型”设计程序****第二阶段:程序编译并部署到实际硬件** B2.特定的 硬件环境下的 并行编程 A1. …...
ORM框架(SQLAlchemy 与 Tortoise )
注:本文是python的学习笔记;不是教程!不是教程!内容可能有所疏漏,欢迎交流指正。 框架概述 什么是ORM? ORM(Object-Relational Mapping,对象关系映射)是一种编程技术&a…...

go语言map扩容
map是什么? 在Go语言中,map是一种内置的无序key/value键值对的集合,可以根据key在O(1)的时间复杂度内取到value,有点类似于数组或者切片结构,可以把数组看作是一种特殊的map,数组的key为数组的下标&…...
安全访问家中 Linux 服务器的远程方案 —— 专为单用户场景设计
在现代远程办公与频繁差旅的背景下,许多人需要从外地访问家中的 Linux 文件服务器,以获取重要文件。在涉及敏感数据(如客户资料、财务信息)时,数据的安全性成为首要考虑因素。以下内容将聚焦于如何在仅有一台笔记本电脑…...
前端开发三剑客:HTML5+CSS3+ES6
在前端开发领域,HTML、CSS和JavaScript构成了构建网页与Web应用的核心基础。随着技术标准的不断演进,HTML5、CSS3以及ES6(ECMAScript 2015及后续版本)带来了诸多新特性与语法优化,极大地提升了开发效率和用户体验。本文…...
[Java 基础]Java 中的关键字
在 Java 编程语言中,关键字 (Keywords) 是预定义的、具有特殊含义的标识符 (identifiers)。它们是 Java 语言语法的一部分,被 Java 编译器赋予了特定的功能和用途。因此,你不能将关键字用作变量名、类名、方法名或其他用户自定义的标识符。 …...

5.3 Spring Boot整合JPA
本文详细介绍了如何在Spring Boot项目中整合Spring JPA,实现对数据库的高效操作。首先,创建Spring Boot项目并添加必要的依赖,如Druid数据源。接着,配置数据源属性,创建实体类Comment和Article,并使用JPA注…...

腾讯开源视频生成工具 HunyuanVideo-Avatar,上传一张图+一段音频,就能让图中的人物、动物甚至虚拟角色“活”过来,开口说话、唱歌、演相声!
腾讯混元团队提出的 HunyuanVideo-Avatar 是一个基于多模态扩散变换器(MM-DiT)的模型,能够生成动态、情绪可控和多角色对话视频。支持仅 10GB VRAM 的单 GPU运行,支持多种下游任务和应用。例如生成会说话的虚拟形象视频࿰…...

[文献阅读] Emo-VITS - An Emotion Speech Synthesis Method Based on VITS
[文献阅读]:An Emotion Speech Synthesis Method Based on VITS 在VITS基础上通过参考音频机制,获取情感信息,从而实现的情感TTS方式。 摘要 VITS是一种基于变分自编码器(VAE)和对抗神经网络(GAN…...
网络协议通俗易懂详解指南
目录 1. 什么是网络协议? 1.1 协议的本质 1.2 为什么需要协议? 1.3 协议分层的概念 2. TCP协议详解 - 可靠的信使 📦 2.1 TCP是什么? 2.2 TCP的核心特性 🔗 面向连接 🛡️ 可靠传输 📊 流量控制 2.3 TCP三次握手 - 建立连接 2.4 TCP四次挥手 - 断开连接…...

OpenCV-Python Tutorial : A Candy from Official Main Page(持续更新)
OpenCV-Python 是计算机视觉领域最流行的开源库之一,它结合了 OpenCV (Open Source Computer Vision Library) 的 C 高性能实现和 Python 的简洁易用特性,为开发者提供了强大的图像和视频处理能力。具有以下优势: 典型应用领域: …...

【Vue】指令补充+样式绑定+计算属性+侦听器
【指令补充】 【指令修饰符】 指令修饰符可以让指令的 功能更强大,书写更便捷 分类: 1.按键修饰符(侦测当前点击的是哪个按键) 2.事件修饰符(简化程序对于阻止冒泡, 一些标签的默认默认行为的操作&…...
.Net Framework 4/C# 泛型的使用、迭代器和分部类
一、泛型的使用 泛型是用于处理算法、数据结构的一种编程方法。泛型的目标是采用广泛适用和可交互性的形式来表示算法和数据结构,以便它们能够直接用于软件构造。 泛型简单理解就是,在声明时暂时不固定其类型,例如 int 类型、double 类型等,在调用泛型时,再将要用的类型补…...

LLM 笔记:Speculative Decoding 投机采样
1 基本介绍 投机采样(Speculative Sampling)是一种并行预测多个可能输出,然后快速验证并采纳正确部分的加速策略 在不牺牲输出质量的前提下,减少语言模型生成 token 所需的时间 传统的语言模型生成是 串行 的 必须生成一个&…...

当SAP系统内计划订单转换为生产订单时发生了什么?
【SAP系统研究】 #SAP #计划订单 #生产订单 #采购申请 一、关于计划订单的一点疑惑 曾经对SAP为什么会有计划订单,是感到很疑惑的。 这个界面简单,配置点也不多,能被随意“摆布”,一旦要变形就消失得无影无踪的计划订单,why? 但是,再次重新审视过之后,才发现它其实…...

PDF转PPT转换方法总结
你是否遇到过这些场景? 收到客户发来的产品手册PDF,明天就要用它做演示; 公司历史资料只有PDF版,领导突然要求更新为幻灯片。 这时PDF转PPT工具就成了救命稻草。接下来,介绍三种PDF转PPT工具。 1. iLoveOFD在线转换…...

3D Web轻量化引擎HOOPS Communicator的定制化能力全面解析
HOOPS Communicator 是Tech Soft 3D推出的高性能Web工程图形引擎。它通过功能丰富的JavaScript API,帮助开发团队在浏览器中快速添加2D/3D CAD模型的查看与交互功能。该引擎专为工程应用优化,支持大规模模型的流畅浏览、复杂装配的智能导航、流式加载和服…...

【力扣链表篇】19.删除链表的倒数第N个节点
题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]…...