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