本文章记录观看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 True
return 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
本节完