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