Python循环语句全解析附实战演练
Python循环语句全解析(附实战演练)
目录
前面学习了Python的六大数据类型、Python条件语句,今天我们来学习 Python的循环语句 ,今天的内容学完,其实大家就可以应对Python的基础编程了。
什么是循环语句呢?简单来说,循环语句就是让代码反复执行某个操作,直到满足某个条件为止。在Python中,最常用的循环语句就是
for
和
while
。本文将对Python中的循环语句进行全面的解析,并附上实战演练,内容包括
for
循环、
while
循环、简单语句组、
for...else
语句、
while ...else
语句、
range()
函数、
break
、
continue
语句、循环中的
else
子句和
pass
语句。每个概念都会有详细的说明和实际示例,帮助大家更好地理解和使用循环语句。
1. for 循环
for
循环最常用于遍历(迭代)序列中的元素,遍历的对象可以是列表、元组、字符串或其他可迭代对象。语法如下:
for <variable> in <sequence>:
<code block>
其中:
<variable>
:循环变量,用于存储序列中的每个元素<sequence>
:要遍历的序列<code block>
:循环体,将在每个元素上执行
下图展示了for循环的执行步骤:
(1)首先,初始化循环控制变量。
(2)接着,对循环进行判断。如果判断为真,则进入循环结构;如果判断为假,则退出循环。
(3)执行循环结构内容,并更新循环控制变量。
(4)重复步骤(2)和(3),直到循环条件不再满足为止。
示例代码:
# 遍历列表
my_list = [1, 2, 3, 4, 5]
for i in my_list:
print(i)
输出:
1
2
3
4
5
2. while循环
while
循环在条件为真时重复执行代码块,直到条件变为假为止。语法如下:
while <condition>:
<code block>
其中:
<condition>
:循环条件,只要为真,循环就会继续执行<code block>
:循环体,将在条件为真的情况下执行
下图展示了while循环的执行步骤:
(1)初始化循环控制变量。
(2)判断循环条件,若为真,则执行循环体;否则,跳过循环体。
(3)执行循环体内容。
(4)重复步骤2和3,直到循环条件不再为真。
示例
# 打印1到5
i = 1
while i <= 5:
print(i)
i += 1
输出:
1
2
3
4
5
上面讲了 for循环和while循环 的基本用法,下面这张表格进行简单比较:
特性 | for循环 | while循环 |
---|---|---|
适用场景 | 遍历序列 | 循环执行条件 |
语法 | for | while |
循环控制 | break, continue | break, continue |
3. 简单语句组
在
for
、
while
循环中,简单语句组可以用缩进来代替循环语句,如果只有一条语句需要执行,可以将该语句放在循环头部,形成简单语句组。例如:
# 等价于 for i in range(10): print(i)
for i in range(10):
print(i)
# 等价于 while num < 10: num += 1
num = 0
while num < 10:
num += 1
print(num)
4. for…else语句
for...else
语句在
for
循环完成后执行
else
代码块,除非在循环中遇到
break
语句。
语法格式如下:
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
示例代码:
# 查找列表中是否存在指定元素
fruits = ["apple", "banana", "orange"]
find_flag = False
for fruit in fruits:
if fruit == "mango":
find_flag = True
break
else:
print("未找到指定元素")
if find_flag:
print("找到了指定元素")
5. while …else 语句
while...else
语句在
while
循环条件为假时执行
else
代码块,除非在循环中遇到
break
语句。示例:
语法格式如下:
while <condition>:
<code block> # 循环主体
else:
# 循环结束后执行的代码
示例代码:
count = 0
while count < 5:
print(count, " 小于 5")
count += 1
else:
print(count, " 不再小于 5")
输出:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 不再小于 5
while
循环会一直执行直到
count
的值达到 5。当
count
变成 5 时,循环条件变为假值,
else
语句块被执行。
6. range() 函数
range()
函数用于生成一个指定范围的数字序列,常用于
for
循环中。语法如下:
range(start, stop, step)
- start:序列的起始数字,默认为0
- stop:序列的结束数字,不包含在序列中
- step:序列的步长,默认为1
示例代码:
# 输出1-10之间的所有奇数
for i in range(1, 10, 2):
print(i)
输出:
1
3
5
7
9
7. break & continue语句
- break语句用于提前终止循环,跳出循环体。
- continue语句用于跳过当前循环体,直接开始下一次循环。
示例代码:
# 循环输出1到10的数字,遇到5时跳出循环
for i in range(1, 11):
print(i)
if i == 5:
break
# 循环输出1到10的数字,只输出偶数
for i in range(1, 11):
if i % 2 == 1:
continue
print(i)
输出结果:
循环输出1到10的数字,遇到5时跳出循环:
1
2
3
4
5
循环输出1到10的数字,只输出偶数:
2
4
6
8
10
8. 循环中的 else 子句
else
子句还可以在循环中使用,不仅限于
while
循环,也适用于
for
循环。当循环正常执行完毕(即没有遇到
break
语句)时,
else
子句中的代码将被执行。
在
while
循环中使用
else
:
count = 0
while count < 5:
print(count, "小于 5")
count += 1
else:
print(count, "不再小于 5")
输出:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 不再小于 5
在
for
循环中使用
else
:
for i in range(5):
print(i)
else:
print("循环正常结束,没有遇到 break")
输出将会是:
0
1
2
3
4
循环正常结束,没有遇到 break
没有执行
else
子句的情况:
如果在循环中使用了
break
语句,那么
else
子句中的代码就不会执行:
for i in range(5):
print(i)
if i == 2:
break
else:
print("循环正常结束,没有遇到 break")
输出:
0
1
2
9. pass语句
pass
是一个占位符语句,它不做任何事情。它的作用是在语法上需要语句的地方提供一个空语句,什么也不做。
pass
语句通常在代码块中需要语句,但是你暂时不想写任何代码的时候使用。
# 这是一个无限循环,需要使用 Ctrl+C 才能终止
while True:
pass
# 这是一个简单的 for 循环,但循环体暂时没有内容
for i in range(10):
pass
10. 实战练习:
前面我们对Python中的循环语句进行了全面的解析,现在附上实战演练,大家可以尝试着敲一下代码,跟着我一起练习。
1. 使用 while 循环实现一个简单的登录功能,要求用户输入正确的用户名和密码才能登录成功。
username = "admin"
password = "123456"
while True:
user_input_username = input("请输入用户名:")
user_input_password = input("请输入密码:")
if user_input_username == username and user_input_password == password:
print("登录成功!")
break
else:
print("登录失败,请重新输入!")
2. 使用 for…else 语句判断一个字符串是否包含指定的子字符串。
string = "Hello, World!"
sub_string = "World"
flag = False
for char in string:
if char == sub_string[0]:
for i in range(len(sub_string)):
if string[i] != sub_string[i]:
break
else:
flag = True
break
if flag:
print("字符串包含指定的子字符串。")
else:
print("字符串不包含指定的子字符串。")
3. 使用 while …else 语句实现一个简单的猜数字游戏。
number = 10
while True:
guess = int(input("请输入一个数字:"))
if guess == number:
print("恭喜你猜对了!")
break
elif guess > number:
print("你猜的数字大了。")
else:
print("你猜的数字小了。")
else:
print("游戏结束!")
下面给大家提供一些改进方法,感兴趣的可以在评论区试试:
- 可以对登录功能进行改进,添加三次登录机会限制,超过三次则锁定账户。
- 可以对猜数字游戏进行改进,添加提示功能,如提示用户猜的数字是大了还是小了。
- 可以将以上代码封装成函数,以便重用。
结语
Python 循环语句学完,大家就可以应对绝大多数的Python基础编程了,也算是入门成功了。大家可以尝试着跟着代码一起学习,如果后面还有补充的,我将继续为大家分享。
我们下一篇文章将开始Python高阶特性的讲解, 继续学习、记录 python的下一个知识点。
如果感觉阅读对您还有些作用,可以 评论留言,关注我 。谢谢您的阅读!
往期学习: