循环中的 break 和 continue使用
break是跳出循环,进行循环后边的代码
continue 是结束本次循环,开始下一次循环
序列
- 序列是python中最基本的一种数据结构,用来储存一组有序数据,所有数据在序列中都有一个唯一的位置,并且系列中的数据会按照添加的位置来分配索引。
- 数据结构值计算机中的数据存储方式。
序列分为:可变序列(字符串),不可变序列(列表,元组)
不可变序列:不可以改变里边的数据,如字符串不能改变里边的内容
可变序列:可以改变里边的数据,如列表,可以通过索引来改变
列表:
列表是python中的一个概念,也是python中的一个对象
列表是用来保存对象的对象
列表可以用来储存多个有序的数据
创建一个空列表 li=[]
切片:list[初始位置:结束位置:步长]
列表通过索引来取数据
列表的操作:
- +和*
+将两个列表合成一个列表
*只能是列表和数字相乘,意思是吧列表里的元素重复几次 - in 和not in
in / not in 用来检查指定元素是否在列表中,返回True 或False - len()来确定元素的个数,是从1开始,不是从0
- max()用来取到列表中的最大值
- min()用来取到列表中的最小值
- list.index(x) 返回在list中x的位置
- list.index(x,起始位置,终止位置)
- list.count(x)计算在list中x出现的次数
通过切片的方式来修改列表内的元素:
list[初始位置,结束位置]=[ , ]将初始位置和结束位置之间的元素替换成后边列表的元素
list[初始位置,结束位置]=“str” 将字符串分成一个一个字母放入列表
如果加上步长,则要计算回取到多少元素,后边列表必须是有对应数目个元素,字符串必须是对应的长度,否则会报错。
list.append(x)在列表的最后边加上x元素
list.insert(位置,x)位置是数字,比如2,则会把第3个数据往后移,然后插入x
list.extend( [ ] )使用新的列表来扩展数列,默认回家再最后边
list.pop()删除列表最后的元素,返回删除的元素
list.remove(x)删除指定的元素,括号中输入元素的名称,如果有多个相同的元素,则只会删除第一个元素
list.reverse()反转列表
list.sort()排序,默认reserve=False(升序),reserve=True反转(降序)
for 循环和range()
例:for i in range(10):
循环10次,i从0取到9
例:for i in list:
每次循环 i=list中的某一个元素,循环的次数为列表中元素的个数
列表翻转的方法
lis1=[1,2,3,4,5,6]
lis2=lis1[::-1]
print(lis2)
lis2=lis1[::-1]
lis3=[]
for i in lis1:
lis3.insert(0,i)
print(lis3)
lis1.reverse()
print(lis1)
猜数游戏
li=[]
li1=[]
for i in range(9):
print("请输入一个1-10之间的数字")
n=int(input(f"你还有{9-i}次机会,请猜一个数字:"))
li.append(n)
li.sort()
se=set(li) #把输入的数字放在集合中,目的是去重
li=list(se)
for i in li:
if 1<=i<=10: #防止输入其他的数字
li1.append(i)
print(li1)
for i in range(len(li1)): #这一步必须给列表排序,又因为一开始排序了,因此不需要再排序了
if li1[i] !=1+i:
x=i
break
elif i+1==len(li1):
x=i+2
break
print(f"游戏结束,最后的答案是{x}")
输出两个列表中相同的元素
li1=[11,22,33]
li2=[22,44,55]
for i in li1:
for k in li2:
if i==k:
print(k)
给8个老师分配到三个地方
import random
laoshi=["数学","语文","英语","物理","化学","生物","音乐","美术"]
li0=[]
li1=[]
li2=[]
for i in range(7):
x=random.randint(0,2)
if x==0:
li1.append(laoshi[i])
elif x==1:
li2.append(laoshi[i])
else:
li0.append(laoshi[i])
print(li0,li1,li2)