Python中的循环
什么是循环
有条件地重复的地做一件事情,每一次做的事情不同但类似
循环的作用
让代码高效的重复执行
循环的种类
在Python中,循环一共分为两大类: while循环与for循环
while循环和for循环如何选择?
while循环基本语法及其对应
while循环的基本语法
# 三步走
# step1: 初始化计数器
i = 0 or 1
# step2: 编写循环条件
while 循环条件(判断 计数器 是否达到了目标位置)
循环体1
循环体2
...
# step3: 在循环内更新计数器
i = i + 1 或 i += 1
案例:输出5遍"hello python"
# 1. 初始化计数器
i = 0
# 2. 编写循环条件
while i < 5:
print('hello python')
#3. 在循环体内部更新计数器
i += 1
while循环流程图:

while循环案例
案例1: 使用while循环求1~100的和
# 第一步: 初始化计数器
i = 0
# 定义一个变量,接收累加后的结果
total = 0
# 第二步: 编写循环条件
while i <= 100:
total += i
# 第三步: 更新计数器的值
i += 1
print(f'1~100累加和为:{total}')
案例2: 1~100之间,偶数的和
# 初始化计数器
i = 0
total = 0
# 编写循环条件
while i <= 100:
# 变量i为一个偶数
if i % 2 == 0:
total += i
# 更新计数器的值
i += 1
print(f'偶数和为:{total}')
循环中的两大关键词
两个关键词
在python循环中的两个关键词:
案例
break关键字
在吃包子的过程中,吃完第三个吃饱了,不需要再吃第4,5个包子了,停止吃这个动作,这里会用break控制循环流程,即终止此循环
# 初始化计数器
i = 1
# 编写循环条件
while i <= 5:
# 当变量i == 4的时候,终止循环
if i == 4:
print('我已经吃饱了,实在吃不下了…')
break
# 正在吃第几个包子
print(f'正在吃第{i}个包子')
# 更新计数器
i += 1
continue关键字
在吃包子的过程中,第三个吃到不喜欢的口味,不吃了,继续吃第四个,第五个,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次
# 初始化计数器
i = 1
# 编写循环条件
while i <= 5:
# 当变量i == 3的时候,中止当前循环,继续下一次循环
if i == 3:
# 手工更新计数器(非常重要)
i += 1
print('不好吃,不想吃这个了…')
continue
print(f'正在吃第{i}个包子')
# 更新计数器
i += 1
tips:在使用continue时,不手工更新计数器会出现死循环
while案例:猜数字
编写一个Python程序,随机生成一个1到100之间的整数,用户通过输入猜测的数字,程序会根据用户的输入提示“猜大了”、“猜小了”或“猜对了”。用户可以无限次猜测,直到猜对为止。猜对后,程序会提示用户并结束游戏。
# 导包
import random
# 随机生成1~100之间的数字
num = random.randint(1, 100)
while True: #因为不知道次数,这里用True
guess = int(input('请输入1-100之间的一个数: '))
if guess > num:
print('猜大了,请继续')
elif guess < num:
print('猜小了,请继续')
else:
print('恭喜您,答对了')
break
for循环基本语法及其应用
for循环结构主要用于序列 (字符串、列表、元组、集合以及字典)类型数据的遍历(循环)操作。
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
案例:
str1 = 'hello'
for i in str1:
print(i) #'h','e','l','l','o'
range方法(函数)
Python2 range() 函数返回的是列表,而在Python3中 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
这里主要用于生成一段内容,0~9
基本语法:
range(stop)
range(start, stop, step)
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5
step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)
案例:for循环与range方法,使用for循环,循环5次
for i in range(5): #包左不包右
print(i)
for循环案例
案例: 使用for循环,求1~100相加的和
# 定义一个变量,用于接收1~100相加的和
result = 0
# 从1开始循环,循环100次
for i in range(1, 101):
result += i
print(f'1~100之间所有和为{result}')
案例: 使用for循环,求1 ~ 100之间所有偶数的和
# 定义一个变量,用于接收1~100之间所有偶数的和
result = 0
# 从1开始循环,循环100次
for i in range(1, 101):
if i % 2 == 0:
result += i
print(f'1~100之间所有偶数的和为{result}')
案例: 实现用户登录判断
输入用户名和密码
判断用户名和密码是否正确(username=‘admin’,password=‘admin888’)
登录仅有三次机会,超过3次会报错
name = 'admin'
password = '123456'
# 3次机会,循环3次
for i in range(3):
user_name = input('请输入用户姓名: ')
user_password = input('请输入用户密码: ')
if user_name == name and user_password == password:
print(f'登陆成功,欢迎您{user_name}')
else:
# 在i=32时,为最后一次机会
if i == 2:
print('录入有误,您将被锁定')
else:
print(f'录入有误,您还有{2 – i}次机会')
for循环中的else结构
基本语法:
for 临时变量 in 序列:
循环体
else:
当for循环正常结束后,返回的代码
break关键字对for…else结构的影响
str1 = 'itheima'
for i in str1:
if i == 'e':
print('遇e不打印')
break
print(i)
else:
print('循环正常结束之后执行的代码')
continue关键字对for…else结构的影响
str1 = 'itheima'
for i in str1:
if i == 'e':
print('遇e不打印')
continue
print(i)
else:
print('循环正常结束之后执行的代码')
总结:
案例: 判断字符串中是否存在空格
# 定义一个字符串
s = "jfjfojewojfoo"
# 循环这个字符串
for i in s:
# 判断是否存在空格
if i == ' ':
print('发现空格,退出循环')
break
else:
print('没有发现空格')
网硕互联帮助中心



![[技术分享] 告别 PS 手工涂抹:浅析如何用 Python + AI 实现电商图片的“智能去字”与自动翻译-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/01/20260131155659-697e264b50bf7-220x150.png)


评论前必须登录!
注册