Python的循环结构
一、while型循环
1、while循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
2、流程图:
3、基本语法
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
4、例子:
#1.1 循环输出1~10
i = 1
while i <=10:print(i,end=",")
i+=1;#1.2 循环10~1
i = 10
while i >= 1:print(i,end=",")
i-=1
#1.3 计算1~100的累加
i = 1sum=0while i<= 100:
sum+= i #将每次循环的i累加到sum中
i+=1
print("1~100的累加值为:",sum)
5、相关例子:
5.1、打印矩形
size = int(input("请输入正方形的宽度:\n"))
i= 1
while i<=size:
j= 1
while j <=size:print("*", end="")
j+= 1
print()
i+=1
while打印矩形
5.2、打印三角形
num = int(input("请输入一个数值:"))
i= 1
while i <=num:
j= 1
while j<=i:print("*",end="")
j+=1
print()
i+=1
while打印三角形
5.3、打印乘法表
num = int(input("请输入要打印到几的乘法表:"))
i= 1
while i <=num:
j=1
while j<=i:print("%d*%d"%(j,i),end="")
j+=1
print()
i+=1
while打印九九乘法表
二、for...in循环
1、for...in 循环用于遍历容器类的数据(字符串, 列表, 元组, 字典)
2、格式:
for 临时变量 in 容器:
临时变量的处理
3、相关数据的遍历
3.0、遍历字符串
#遍历字符串
str = "hello"
for i instr:print(i)
3.1、遍历列表
#遍历列表
list1=[100,'hello',True,12.5,(10,20)]for i inlist1:print(i)
3.2、遍历元组
#遍历元组
tup = (10,20,30,40,50)for i intup:print(i)
3.3、遍历字典
#遍历字典(for循环只能遍历可迭代容器 不能遍历数字 布尔值 浮点数)
dic = {'name':'小仙女','sex':'女','age':18}for i indic:#临时变量i 获取的是字典的key
print(i,dic[i])print("%s是:%s"%(i,dic[i]))
4、相关补充:
4.1、遍历字典中的某个元素
dic = {'name':'小仙女','sex':'女','age':18}for i indic:if(dic[i]) == 18:print("我找到指定数据:%d"%dic[i])else:print(i)
遍历字典中的某个元素
4.2、遍历字典中的key
#遍历字典中的key
dic = {'name':'小仙女','sex':'女','age':18}for i indic.keys():print(i)
遍历字典中的key
4.3、遍历字典中的value
#遍历字典中的键值
dic = {'name':'小仙女','sex':'女','age':18}for i indic.items():print(i)
遍历字典中的键值
5、实现for循环的完整语法
5.1、作用:遍历数据时,使用语法格式,满足条件使用break语句,提前终止循环不执行break语句,则会执行else部分。
5.2、特点:提高遍历效率
5.3、格式:
for临时变量 in 容器:
对临时变量的处理(满足条件执行break语句)
else:
在上面for循环中没有执行break语句,容器遍历完,一定会执行else部分
5.4、例子:
info_list = [10,20,30,40,50,60]#使用for循环完整语法格式遍历#找到30,停止遍历,如果遍历完容器,没找到报个提示信息
find_data = 30
for i ininfo_list:print(i)if i ==find_data:print("已找到您要找的数据:%d"%find_data)break
else:print("没您需要找的数据%d"%find_data)
实现for循环的完整语法
6、实现for循环完整语法的应用场景
#for循环完整语法的应用场景#例:一个列表包含多个字典 如何判断字典中是否存在指定值#如果存在 提示并退出#如果不存在 在循环结束后 得到一个统一的提示
info_list =[
{'name': '海清', 'age': '18', 'height': '175', 'gender': '女'},
{'name': '曾勇', 'age': '20', 'height': '175', 'gender': '男'},
{'name': '乐乐', 'age': '18', 'height': '175', 'gender': '男'},
{'name': '巩俐', 'age': '32', 'height': '165', 'gender': '女'},
{'name': '方一凡', 'age': '18', 'height': '175', 'gender': '男'},
{'name': '迪丽热巴', 'age': '22', 'height': '175', 'gender': '女'}
]#定义变量保存要查询的人物名字
find_name = '方一凡'
for item ininfo_list:#临时变量item 获取的是列表中一个个字典
if item.get('name')==find_name:print("已经找到您需要找的人:%s"%find_name)print('姓名:%s ,年龄:%s ,身高:%s ,性别:%s'%(
item.get('name'),item.get('age'),item.get('height'),item.get('gender')))break
else:print("抱歉,没找到您要找的:%s"%find_name)
场景应用
三、range()函数
1、定义:range()是python内置函数它能返回一系列连续增加的整数,它的工作方式类似于分片,可以生成一个列表对象
2、range函数大多数时常出现在for循环中,在for循环中可做为索引使用
3、在python 3.0中range()函数是一个迭代器。
4、例子:
4.1、range()函数内只有一个参数,则表示会产生从0开始计数的整数列表
>>> range(5)
[0,1, 2, 3,4] #python 返回值
4.2、python range(start,end)中,当传入两个参数时,则将第一个参数做为起始位,第二个参数为结束位:
>>> range(0,6)
[0,1, 2, 3, 4,5]
4.3、range(start,end,scan)函数内可以填入三个参数,第三个参数是步进值(步进值默认为1):
>>> range(0,10,2)
[0,2, 4, 6,8]#每次递进2
5、range()在for循环中的作用及技巧:
>>> x = 'playpython'
>>> for i inx:
...printi,
...
p l a y p y t h o n>>>range(len(x))
[0,1, 2, 3, 4, 5, 6, 7, 8, 9]>>>len(x)10
>>> for i inrange(len(x)):
...printx[i],
...
p l a y p y t h o n>>>
View Code
四、break和continue语句
1、Python break语句,就像在C语言中,打破了最小封闭for或while循环。
2、例:
a = 3
for i in range(5):if i == 3:print("已找到您需要找的值:%d"%a)break;print(i)
3、Python continue 语句跳出本次循环,而break跳出整个循环。
4、例:
a = 3
for i in range(5):if i == 3:print("已找到您需要找的值:%d"%a)continue
print(i)#0#1#2#已找到您需要找的值:3#4