当前位置: 首页 > news >正文

从零开始的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

本节完

http://www.lqws.cn/news/214975.html

相关文章:

  • [SNOI2024] 公交线路 题解(观察,点减边容斥,优化trick)
  • 【分销系统商城】
  • Python Robot Framework【自动化测试框架】简介
  • c++ —— 内存管理
  • 人工智能赋能高中学科教学的应用与前景研究
  • ThinkPHP 5.1 中的 error 和 success 方法详解
  • 运行示例程序和一些基本操作
  • |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面
  • PL0语法,分析器实现!
  • STM32开发中,线程启动异常问题排查简述
  • 基于Springboot的宠物领养系统
  • 滚珠螺杆的预压技术是如何提高精度的?
  • Mysql-定时删除数据库中的验证码
  • 理论物理与高等数学的交叉点“规范场”和“纤维丛”
  • 程序代码篇---Python串口
  • 【题解-洛谷】P10448 组合型枚举
  • Cloudflare 免费域名邮箱 支持 Catch-all 无限别名收件
  • A Execllent Software Project Review and Solutions
  • C++课设:实现简易文件加密工具(凯撒密码、异或加密、Base64编码)
  • day24 元组和OS模块
  • 【STM32F1标准库】理论——定时器中的输出比较
  • 线程池封装
  • 【深度学习-Day 24】过拟合与欠拟合:深入解析模型泛化能力的核心挑战
  • PLC有脉冲输出,但伺服电机无法旋转
  • 移动应用开发专业核心课程以及就业方向
  • 算法-多条件排序
  • STM32学习笔记:定时器(TIM)原理与应用(详解篇)
  • Windows 下搭建 Zephyr 开发环境
  • VirtualBox启动失败@Ubuntu22.04 说是配置文件有问题
  • ubuuntu24.04 编译安装 PostgreSQL15.6+postgis 3.4.2 + pgrouting 3.6.0 +lz4