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



