IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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.结束语

今天结束啦!今天没能打成校篮球赛真是我隔离期间迄今为止最遗憾的事,不过正好也能让我更加专注于学习,有利有弊吧!不过我还是更想打比赛嘿嘿嘿。对于学习计划方面,我决定以后白天学习新课程,晚上做总结(也就是写这个笔记),不然像昨天一样晚上十点才开始写笔记,时间就会很赶,而今天吃完晚饭就开始写了这个笔记,时间很充裕,效率也更高了一些,时间刚刚好嘻嘻!晚安!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 10:53:42  更:2021-10-22 10:54:20 
 
开发: 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年11日历 -2024/11/15 21:28:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码