循环的分类
Python 提供了 for 循环和 while 循环
循环类型 | 描述 |
while | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for | 重复执行语句 |
while循环
Python 编程中 while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务
语法规则
while 判断条件:
执行语句
应用
应用一:输出100次你好,世界!
# 循环的计数器
i = 1
while i < 100:
print('你好,世界!')
i += 1
print('任务结束')
应用二:计算1-100的和
num = 1
result = 0
while num <= 100:
result += num
num+=1
print(result)
应用三:计算1-100偶数和
方法一
num = 1
result = 0
while inum <= 100:
# 判断num是否能整除2,如果可以,则和result相加
if num % 2 == 0:
result += num
num += 1
print(result)
方法二
num = 0
result = 0
while num <= 100:
result += num
num += 2
print(result)
for...in...循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for-in遍历的对象必须是 可迭代对象。
语法规则
for 临时变量 in 待处理数据集:
重复执行代码
理论上来讲,for循环无法构建无限循环(待处理的数据集不可能无限大)
实例
# 遍历字符串
for i in 'Python': # 第一个实例
print(i)
可以看出for循环是将字符串的内容 依次取出,所以for循环也被称之为 遍历循环
练习
# 字符串 name = "hello world python i love you"
# 通过for循环遍历所有的o
name = "hello world python i love you"
for i in name:
if i == "o":
print(i)
range()函数*
for循环本质上是遍历**“序列类型” ,但是,使用range 函数,可以获得一个简单的数字序列**
语法:
range(num)
# 获得一个从0开始,到num结束的数字序列(不含num本身)
# 例如range(5),获得的数据是[0,1,2,3,4]
range(num1,num2)
# 获取一个从num1开始,到num2结束的数字序列(不含num2本身)
# 例如range(2,8),获得的数据是[2,3,4,5,6,7]
range(num1,num2,step)
# 获取一个从num1开始,到num2结束的数字序列(不含num2本身)
# step 为步长,默认为1
# 例如range(1,10,2),获取到的数据是[1,3,5,7,9]
num1 = 10
num2 = 0
range(num1,num2,-1)
# 从10到1,依次打印,(不含num2本身)
# range(10,0,-1),获取到的数据是[10,9,8,7,6,5,4,3,2,1]
实例
# 输出0~9
for i in range(10):
print(i)
# 输出1~100
for i in range(1,101)
# 输出1~100,每次跳过一个数字
for i in range(1,101,2):
print(i)
循环嵌套
执行流程
当内部循环执⾏完成之后,再执⾏下⼀次外部循环的条件判断。
![](https://img-blog.csdnimg.cn/img_convert/53b7ea3100f626d3580469387ce80d72.png)
语法规则
单循环
#while循环
i = 0
while i <= 10:
print("你好,世界!")
i += 1
#for循环
for i in range(1,11):
print("你好,世界!")
嵌套循环
#while循环
j = 1
while j<=3:
print("你好,世界!")
i = 1
while i<=10:
print("世界,你好!")
i+=1
j += 1
#for循环
for i in range(1,4):
print("你好,世界!")
for i in range(1,11):
print("世界,你好!")
应用一:九九乘法口诀表
#while循环
i = 1
while i <= 9:
j = 1
while j<=i:
print(f'{i}*{j}={i*j}',end='\t')
j += 1
print()
i += 1
#for循环
for i in range(1,10):
for j in range(1,i+):
print(f'{i}*{j}={i*j}',end='\t')
print()
循环控制语句
控制语句 | 描述 |
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |
break
#while循环
i = 1
while i < 100: # 遍历出0~99
if i == 51: # 判断i是否等于51的倍数
print("end!")
break # 满足条件结束循环
print(i) # 打印出其余的数字
i += 1
#for循环
for i in range(1,100): # 遍历出0~99
if i == 51: # 判断i是否等于51的倍数
print("end!")
break # 满足条件结束循环
print(i) # 打印出其余的数字
continue
#while循环
while i<100: # 遍历出0~99
if i % 7 == 0: # 判断i是7的倍数
i += 1
continue # 满足条件直接跳过
print(i) # 打印出其余的数字
i+=1
#for循环
for i in range(1,100): # 遍历出0~99
if i % 7 == 0: # 判断i是7的倍数
continue # 满足条件直接跳过
print(i) # 打印出其余的数字
pass占位符
python3中的pass语句是一个空语句,什么都不做,执行它时什么也没有发生,是一个空操作。 pass语句通常用作占位符(place-holder),即当用户不知道要编写什么代码时,用户只需在那行上放置pass。
在语法上需要有条语句但是确不希望执行任何命令或代码时可以使用pass。用户可以简单地将pass放置在不允许空代码的地方,例如函数定义、类定义(通常用于创建最小类)、循环或if语句中。用户使用pass语句可以避免这个错误。
#while循环
while i<10: # 遍历出0~9
pass # 什么都不做
#for循环
for i in range(10): # 遍历出0~9
pass # 什么都不做
while补充:while...else
Python中的循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
语法规则
while 条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
while...else之终止与退出循环
i = 1
while i <= 5:
if i == 3:
print('世界,你好!')
break
print('你好,世界!')
i += 1
else:
print('再见!')
"""
总结: 所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,
else下方缩进的代码将不执行。
"""
i = 1
while i <= 5:
if i == 3:
i += 1 # 当用到continue时,计数器一定要加上,不然会出现死循环
continue
print('你好,世界!')
i += 1
else:
print('z')
"""
总结: 因为continue是退出当前你一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,
当循环结束后,则执行了else缩进的代码。
"""
全套python资料请前往主页: python全家桶_银色晨曦的博客-CSDN博客