while循环适用于未知循环次数的循环,for循环适用于已知循环次数的循环 。
#whlie 循环
st = 'hello world'
n = 0
while n<=10:#调节循环
print(st[n])
n+=1
#for 循环
st = 'hello world lingfeng'
for n in st:#计数循环,迭代(从一个数据类型里面,一个一个的获取值)循环
print(n)
错误:for n in 123:#int类型不能进行迭代循环,因为123是一个元素,无法循环
错误:print(n)
range 函数可以取到一个范围的整数,相比while更简单
for n in range(12):
print(n)
for n in range(6,12): #区间
print(n)
for n in range(0,101):#获取这个区间内所有偶数
if n%2==0:
print(n)
或:
for n in range(0,101,2):#2是步长
print(n)
for n in range(1,11):#2是步长
print(f'凌风在跑步,这是第{n}圈')
if n == 5:
break
for n in range(1,11):#2是步长
if n == 5:
continue
print(f'凌风在跑步,这是第{n}圈')
li = []
n = ()
结果:type(li) #查看类型
<class 'list'> #列表
type(n) #查看类型
<class 'tuple'> #元祖
for n in range(101):
if i%2==0:
li.append(n) #.append(添加一个数据)
li_2 = [m for m in range(101) if m%2==0]
#(for m in range(101))生成数据,(if m%2==0)生成条件,(m)变量添加
for n in range(101):
if n%2==0:
li.append(n*100)
else:
li.append(n*10)
li_2 = [m*100 if m%2==0 else m*10 for m in range(101)]
#三目运算符
st = 'hello world'
li3 = [i for i in st if i!=' ' ] #当不等于“空格”时,添加
lingfeng = ['lingfeng',18,'nan',180]
>>> test = ['test',28,'wumen',160]
>>> lingfeng['lingfeng', 18, 'nan', 180]
>>> test['test', 28, 'wumen', 160]
列表保存多个信息
mr=['lingfeng', 18, 'nan', 180, 'zhangsha']
mr[0:4]#索引值0到索引值4
mr[0:4:2] #【2】步长
mr[-1:-4:-1] #后面的-1,是负索引
>>> mr[0:] #索引值0到最大值
>>> mr[0:100] #区间
>>> mr[:4] #最小值到索引值4
mr.index('zhangsha') #.index查看元素索引值位置
mr.append('a') #.append列表添加
mr.insert(4,'n') #.insert指定位置插入
mr.extend(['q','w','e','r']) #.extend多个数据插入
mr.extend(['hello','world'])#.extend插入单词
li = [1,2,3,4,5]
>>> li[2:3] = [3,'q']
中间的一段取出来,添加
li.pop(1)#.pop(1)根据索引值删除
li.pop() #.pop默认删除最后一个
li.remove(5) #根据元素去删除
mr = ['a', 'q', 'w', 'e', 'r']
del mr[1:3] #删除一段范围的数据
mr.clear()#删除列表中全部数据
li = [1,5,7,9,3,4,8]
li_1=li.copy()#复制一个列表
li_1.sort() #永久排序,从小到大
li_2=sorted(li) #临时排序
sorted(li,reverse=True)#反向排序
li = [1,1,1,1,2,2,2,2]
li.count(1)#查看一个列表中的元素出现了多少次
tu = ('a','b','c','d')
>>> type(tu)
<class 'tuple'>#tuple是元组
a,b,c,d,e = tu#这是拆包
a,*b = tu#a正常接收一个数据,*b接收剩下的所有数据
a,*b,c = tu
元组修改数据
tu = ('a','b','c','d')
tu_1=list(tu)
tu_1[0:1]=['d','j']
tu=tuple(tu_1)
把元组转成列表修改,修改完后转回元组
作业:1.用for循环写一个乘法口诀表
2.一个列表中有重复元素,编写程序,移除重复元素(只能使用我们学过的内容来实现)
答案:
1.
for j in range(1,10):
for i in range(1,10):
if i<=j:
print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
print('')
2.
li = [1,1,1,1,1,2,2,2,3,2,3,7,5,6,4,5]
li_1 = []
for i in li:
if li.count(i)==1 :
li_1.append(i)
print(sorted(li_1))
li_2 =[i for i in li if li.count(i)==1]
print(sorted(li_2))
for i in li:
if i not in li_1:
li_1.append(i)
print(sorted(li_1))
li_3 = [i for i in li if i not in li_1]
print(sorted(li_1))
或者
