| |
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 10:59:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |