| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Python知识库 -> python学习笔记40-54 -> 正文阅读 |
|
|
[Python知识库]python学习笔记40-54 |
1.前言今天是隔离的第三天,还好学习python比较消磨时间,要不然我真不知道我该怎么度过这漫长的隔离期。 2.学习内容1.流程控制语句break(40)?'''从键盘录入密码,最多录入三次,如果正确就结束循环'''
?for item in range(3):
? ? pwd=input('请输入密码')
? ? if pwd=='8888':
? ? ? ? print('密码正确')
? ? ? ? break
? ? else :
? ? ? ? print('密码错误')
需要注意的是,使用for item in range(3): 这行语句实现输出0 1 2三个数进行三次循环 2.流程控制语句continue(41)?'''要求输出1到50之间所有5的倍数,使用continue语句'''
?for item in range(1,51):
? ? if item%5==0:
? ? ? ? print(item)
??
?print('使用continue')
?for item in range(1,51):
? ? if item%5!=0:
? ? ? ? continue
? ? print(item)
continue是结束本次的循环,进入下一次的循环(还是同一个层次的循环体)(只能运用到循环结构中) 3.else与while搭配(42)?a=0
?while a<3:
? ? pwd=input('请输入密码')
? ? if pwd == '8888':
? ? ? ? print('密码正确')
? ? ? ? break
? ? else:
? ? ? ? print('密码错误')
? ? '''改变变量'''
? ? a+=1
?else:
? ? print('三次机会已用完')
break终止,跳出,结束循环(可以作用在任何地方)。密码正确后执行break,直接程序的while循环就直接结束了== 3.else和for搭配(42)esle语句的使用与else配合的三种情况 1.if else if表达式不成立时执行esle 2.while else 没有碰到break时执行else ?a=0
?while a<3:
? ? pwd=input('请输入密码')
? ? if pwd == '8888':
? ? ? ? print('密码正确')
? ? ? ? break
? ? else:
? ? ? ? print('密码错误')
? ? '''改变变量'''
? ? a+=1
?else:
? ? print('三次机会已用完')
3.for else 没有碰到break时执行else ?for item in range(3):
? ? pwd=input('请输入密码')
? ? if pwd =='8888':
? ? ? ? print('密码正确')
? ? ? ? break
? ? else:
? ? ? ? print('密码错误')
?else:
? ? print('对不起,三次密码均错误')
4.循环嵌套4.1九九乘法表(热身) ?'''输出一个三行四列的矩形'''
?for i in range(1,4):#行数1 2 3
? ? for j in range(1,5):#列数1 2 3 4
? ? ? ? print('*',end='\t')#不换行输出
? ? print()
4.2九九乘法表 ?for i in range(1,10):#行数 ? ? for j in range(1,i+1): ? ? ? ? print(i,'*',j,'=',i*j,end='\t') ? #end=''表示结束后不换行,\t表示不换行后但是空几个格,接着输出下一个 ? ? print() 先写行数,九九乘法表为9行,所以用for i range(1,10)共九个数,且i从1开始,随后发现行数和列数相等,所以 for j in range(1,i+1):表示列数。 注意end=''表示结束后不换行,\t表示不换行后但是空几个格,接着输出下一个。print()表示每行输出完后换行。 5.二重循环中的break与continue?'''流程控制语句break与continue在二重循环中的使用''' ?for i in range(5):#代表外层循环执行五次 ? ? for j in range(1,11): ? ? ? ? if j%2==0: ? ? ? ? ? ? #break ? ? ? ? ? ? continue#break中断返回根循环,cuntinue中断返回本层循环。 ? ? ? ? print(j,end='\t') ? ? print() ?#1、break:终止,跳出,结束循环(可以作用在任何地方)。常与switch分支结构合用。 ?#2、continue:结束本次的循环,进入下一次的循环(只能运用到循环结构中) break中断返回根循环,cuntinue中断返回本层循环。 6.为什么需要列表?如a=10 id:886 type:int value:10 a中存储的是对象的id值
? ? 7.列表对象的创建
8.获取指定元素的索引? ?lst=['hello','world',98,'hello']
?print(lst.index('hello'))#注意此处为lst.index 是点!不是逗号!如果列表中有相同元素,只返回列表中相同元素的第一个元素的索引'''
?#为啥上一行注释用''''''会报错?????
?#print(lst.index('python'))
?print(lst.index('hello',1,3))#ValueError: 'hello' is not in list ? ? 1,3是指1和2,不包括3
print(lst.index('hello'))#注意此处为lst.index 是点!不是逗号!如果列表中有相同元素,只返回列表中相同元素的第一个元素的索引''' 还有为什么上一行注释我用三引号会报错?我不懂! ? 9.获取列表中指定的元素?lst=['hello','world',98,'hello','world',234] ?#获取索引为2的元素 ?print(lst[2])#98 ?#获取索引为-3的元素 ?print(lst[-3])#hello ?#获取索引为10的元素 ?print(lst[10])#IndexError: list index out of range 直接print(lst[索引数])就好啦! 10.获取列表中多个元素 切片操作?lst=[10,20,30,40,50,60,70,80]
?#start=1,stop=6,step=1
?print(lst[1:6:1])#[20, 30, 40, 50, 60]
?print('原列表',id(lst))
?lst2=lst[1:6:1]
?print('切的片段:',id(lst2))
?print(lst[1:6])#默认步长为1
?print(lst[1:6:])
?#start=1,stop=6,step=2
?print(lst[1:6:2])
?#stop=6,step=2,start采用默认
?print(lst[:6:2])#默认从0开始
?#start=1 step=2 stop=采用默认
?print(lst[1::2])#[20, 40, 60, 80]
??
?print('------------step为负数---------')
?print('原列表',lst)
?print(lst[::-1])#[80, 70, 60, 50, 40, 30, 20, 10]
?#start=7,stop省略 step=-1
?print(lst[7::-1])#[80, 70, 60, 50, 40, 30, 20, 10]
?#start=6,stop=0 step=-2
?print(lst[6:0:-2])#注意不包括索引为0的,所以不包括10
print(lst[1:6])#默认步长为1 print(lst[:6:2])#默认start从0开始 print(lst[1::2] )#[20, 40, 60, 80]默认stop到最后一个数 11.列表元素的判断及遍历?print('p' in 'python')#true
?print('k'not in 'python')#true
??
?lst=[10,20,'python','hello']
?print(10 in lst)#T
?print(100 in lst)#F
?print('------------列表元素的遍历就是用for循环将元素全部打印下来')
?for item in lst:
? ? print(item)
print('------------列表元素的遍历就是用for循环将元素全部打印下来') for item in lst: print(item) 12.列表元素的添加操作?#向列表末尾添加一个元素
?lst=[10,20,30]
?print('添加元素之前',lst,id(lst))#添加元素之前 [10, 20, 30] 1685772369408
?lst.append(100)#添加元素之后 [10, 20, 30, 100] 1685772369408
?print('添加元素之后',lst,id(lst))#两个lst的id一样,说明还是一个列表
?lst2=['hello','world']
?#将list2作为一个元素添加到列表末尾
?lst.append(lst2)#[10, 20, 30, 100, ['hello', 'world']]
?#向列表的末尾一次性添加多个元素
?lst.extend(lst2)#[10, 20, 30, 100, 'hello', 'world']
?print(lst2)
??
?#在任意位置上添加一个元素
?lst.insert(1,90)
?print(lst)
??
?lst3=[True,False,'HELLO']
?#在任意位置上添加N多个元素
?lst[1:]=lst3#把lst的元素从1索引开始全部切掉换成lst3的内容
?print(lst)
1.#向列表末尾添加一个元素 使用lst.append(100)可以将100这个元素加到lst列表的最后,成为该列表的最后一个元素。print('添加元素之前',lst,id(lst))#添加元素之前 [10, 20, 30] lst.append(100)#添加元素之后 [10, 20, 30, 100] 但是需要注意print('添加元素之后',lst,id(lst))#两个lst的id一样,说明还是一个列表 2.#将list2作为一个元素添加到列表末尾 lst.append(lst2)#[10, 20, 30, 100, ['hello', 'world']] 注意是将lst2作为一个元素添加到末尾 3.#向列表的末尾一次性添加多个元素 lst.extend(lst2)#[10, 20, 30, 100, 'hello', 'world'] print(lst2) 注意此处用的是extend而不是append,而且是将lst2中的hello', 'world'直接变成lst的最后一个元素,注意没有[ ] 4.#在任意位置上添加一个元素 lst.insert(1,90)#将90这个元素放到索引数为1的位置 print(lst) 5.lst3=[True,False,'HELLO'] #在任意位置上添加N多个元素 lst[1:]=lst3#把lst的元素从1索引开始全部切掉换成lst3的内容 print(lst) 13.列表元素的删除操作?lst=[10,20,30,40,50,60,30]
?lst.remove(30)
?print(lst)#第一个30被删除
?#lst.remove(100)#ValueError: list.remove(x): x not in list
??
?#pop根据索引移除元素
?lst.pop(1)
?print(lst)
?lst.pop()#若不写索引,会删除列表的最后一个元素
?print(lst)
?print('-----切片操作----删除至少一个元素,但是将产生新的列表对象')
?new_list=lst[1:3]#产生新列表
?print('原列表',lst)
?print('切片后的列表',new_list)#??我觉得应该叫切片比较好,是被切下来的部分
??
?'''不产生新的列表对象。而是删除原列表的内容'''
?lst[1:3]=[]#这是去除切下来的部分(切片),剩下切片后的列表,再加上后面的空列表,即为lst
?print(lst)
??
?'''清除列表中的所有元素'''
?lst.clear()
?print(lst)
??
?'''del语句将列表对象删除'''
?del (lst)
?print(lst)#nameError: name 'lst' is not defined. Did you mean: 'list'?
1.用lst.remove(30) 根据元素删除 lst=[10,20,30,40,50,60,30] lst.remove(30) print(lst)#第一个30被删除 #lst.remove(100)#ValueError: list.remove(x): x not in list 2.pop根据索引移除元素 lst.pop(1)#删除索引为1的元素 print(lst) lst.pop()#若不写索引,会删除列表的最后一个元素 print(lst) 3.用切片删除元素 print('-----切片操作----删除至少一个元素,但是将产生新的列表对象') new_list=lst[1:3]#产生新列表 是指new_list为切片,元素为lst的索引为1,2 的元素 print('原列表',lst) print('切片后的列表',new_list)#??我觉得应该叫切片比较好,是被切下来的部分 4.'''不产生新的列表对象。而是删除原列表的内容''' lst[1:3]=[]#这是去除切下来的部分(切片),剩下切片后的列表,再加上后面的空列表,即为lst print(lst) 5.'''清除列表中的所有元素''' lst.clear() print(lst) 6.'''del语句将列表对象删除''' del(lst) print(lst)#nameError: name 'lst' is not defined. Did you mean: 'list'? 为啥会报错? 14.列表元素的修改?lst=[10,20,30,40] ?#一次修改一个值 ?lst[2]=100 ?print(lst) #[10, 20, 100, 40] ?#一次修改多个值 ?lst[1:3]=[300,400,500,600]#索引1与2的元素被替换为[300,400,500,600] ?print(lst) #[10, 300, 400, 500, 600, 40] 3.结束语今天结束啦!今天没能打成校篮球赛真是我隔离期间迄今为止最遗憾的事,不过正好也能让我更加专注于学习,有利有弊吧!不过我还是更想打比赛嘿嘿嘿。对于学习计划方面,我决定以后白天学习新课程,晚上做总结(也就是写这个笔记),不然像昨天一样晚上十点才开始写笔记,时间就会很赶,而今天吃完晚饭就开始写了这个笔记,时间很充裕,效率也更高了一些,时间刚刚好嘻嘻!晚安! |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/30 0:06:54- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |