Python循环语句全解析(附实战演练)

目录

1. for 循环

2. while循环

3. 简单语句组

4. for...else语句

5. while ...else 语句

6. range() 函数

7. break & continue语句

8. 循环中的 else 子句

9. pass语句

10. 实战练习:

结语


前面学习了Python的六大数据类型、Python条件语句,今天我们来学习Python的循环语句,今天的内容学完,其实大家就可以应对Python的基础编程了。

什么是循环语句呢?简单来说,循环语句就是让代码反复执行某个操作,直到满足某个条件为止。在Python中,最常用的循环语句就是forwhile。本文将对Python中的循环语句进行全面的解析,并附上实战演练,内容包括 for 循环、while 循环、简单语句组、for...else 语句、while ...else 语句、range() 函数、breakcontinue 语句、循环中的 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 <variable> in <sequence>:while <condition>:
循环控制break, continuebreak, continue


3. 简单语句组

在 forwhile 循环中,简单语句组可以用缩进来代替循环语句,如果只有一条语句需要执行,可以将该语句放在循环头部,形成简单语句组。例如:

# 等价于 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("游戏结束!")

下面给大家提供一些改进方法,感兴趣的可以在评论区试试:

  1. 可以对登录功能进行改进,添加三次登录机会限制,超过三次则锁定账户。
  2. 可以对猜数字游戏进行改进,添加提示功能,如提示用户猜的数字是大了还是小了。
  3. 可以将以上代码封装成函数,以便重用。

结语

Python 循环语句学完,大家就可以应对绝大多数的Python基础编程了,也算是入门成功了。大家可以尝试着跟着代码一起学习,如果后面还有补充的,我将继续为大家分享。

我们下一篇文章将开始Python高阶特性的讲解,继续学习、记录python的下一个知识点。

如果感觉阅读对您还有些作用,可以评论留言,关注我。谢谢您的阅读!

往期学习:

Python安装教程(版本3.8.10)windows10

Linux系统:安装Conda(miniconda)

Conda快速安装的解决方法(Mamba安装)

VSCode安装教程(版本:1.87.0)Windows10

Python基础语法:从入门到精通的必备指南

Python的基本数据类型

Python数据类型间的转换(隐式、显式)-CSDN博客

Python基础知识:运算符详解-CSDN博客

Python基础知识:数字类型及数学函数详解-CSDN博客

Python字符串操作及方法详解!一篇就搞定!-CSDN博客

Python列表及其操作详解,从此不再迷茫!-CSDN博客

Python元组(Tuple)深度解析!

Python字典的使用技巧(一篇详解)

Python条件控制深度解析,成为编程必备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TiYong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值