百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python入门学习教程:第 5 章 循环语句

itomcoil 2025-08-30 23:57 6 浏览

5.1 什么是循环语句?

在编程中,我们经常需要重复执行某段代码。例如,计算 1 到 100 的总和、打印列表中的所有元素等。如果手动编写每一次的执行代码,不仅繁琐,还容易出错。循环语句就是用来解决这种重复执行需求的工具,它可以让程序按照指定的条件重复执行某段代码块。

Python 中常用的循环语句有两种:for循环和while循环。

5.2 while 循环

while循环的语法结构如下:

while 条件表达式:

循环体(需要重复执行的代码块)

while循环的执行过程是:先判断条件表达式的结果,如果为True,就执行循环体;执行完循环体后,再次判断条件表达式,直到条件表达式的结果为False时,跳出循环。

5.2.1 基本用法

示例:打印 1 到 5 的数字

num = 1

while num <= 5:

print(num)

num += 1 # 相当于num = num + 1,每次循环让num增加1

运行结果:

1

2

3

4

5

解析:

  • 初始时num = 1,满足num <= 5,执行循环体:打印1,num变为 2。
  • 再次判断num <= 5(2 <= 5 为 True),执行循环体:打印2,num变为 3。
  • 重复上述过程,直到num变为 6 时,num <= 5为 False,循环结束。

5.2.2 避免无限循环

如果while循环的条件表达式始终为True,循环就会一直执行下去,形成无限循环,这会导致程序卡死。因此,在使用while循环时,一定要确保循环条件最终会变为False。

例如,下面的代码会形成无限循环(因为num的值始终是 1,num <= 5永远为 True):

num = 1

while num <= 5:

print(num)

# 忘记让num增加,导致循环无法结束

为了避免这种情况,要确保循环体中包含改变条件表达式的语句(如num += 1)。

5.3 for 循环

for循环通常用于遍历序列(如字符串、列表等)或其他可迭代对象,其语法结构如下:

for 变量 in 可迭代对象:

循环体(每次迭代时执行的代码块)

“可迭代对象” 是指可以依次取出元素的对象,如字符串、列表、range 对象等。for循环会依次将可迭代对象中的元素赋值给变量,然后执行循环体,直到所有元素都被遍历完。

5.3.1 遍历字符串

示例:遍历字符串中的每个字符

message = "Hello"

for char in message:

print(char)

运行结果:

H

e

l

l

o

5.3.2 遍历 range 对象

range()函数可以生成一个整数序列,常用于for循环中指定循环次数。其语法为:range(start, stop, step),其中:

  • start:起始值(可选,默认从 0 开始)。
  • stop:结束值(必须指定,生成的序列不包含该值)。
  • step:步长(可选,默认是 1,即每次增加 1)。

示例 1:生成 0 到 4 的整数(不包含 5)

for i in range(5):

print(i)

运行结果:

0

1

2

3

4

示例 2:生成 2 到 8 的偶数(步长为 2)

for i in range(2, 9, 2):  # 从2开始,到9结束(不包含9),每次增加2

print(i)

运行结果:

2

4

6

8

5.3.3 遍历列表(提前预告)

虽然我们还没正式学习列表,但可以先简单了解for循环遍历列表的用法(列表会在第 6 章详细讲解)。

示例:遍历列表中的元素

fruits = ["apple", "banana", "orange"]

for fruit in fruits:

print(fruit)

运行结果:

apple

banana

orange

5.4 循环控制语句

在循环过程中,有时需要提前结束循环或跳过某次循环,这时可以使用break和continue语句。

5.4.1 break 语句

break语句用于立即终止当前循环,跳出循环体。

示例:当遇到数字 5 时,终止循环

for num in range(1, 10):

if num == 5:

break # 当num等于5时,跳出循环

print(num)

运行结果:

1

2

3

4

5.4.2 continue 语句

continue语句用于跳过当前循环中的剩余代码,直接进入下一次循环。

示例:跳过数字 5,继续打印其他数字

for num in range(1, 10):

if num == 5:

continue # 当num等于5时,跳过本次循环的剩余代码

print(num)

运行结果:

1

2

3

4

6

7

8

9

5.5 循环嵌套

循环可以嵌套使用,即一个循环内部包含另一个循环。这常用于处理更复杂的重复逻辑。

示例:打印 5 行 5 列的星号(*)

# 外层循环控制行数

for i in range(5):

# 内层循环控制每行的星号数量

for j in range(5):

print("*", end=" ") # end=" "表示打印后不换行,用空格分隔

print() # 每行结束后换行

运行结果:

* * * * * 

* * * * *

* * * * *

* * * * *

* * * * *

5.6 示例:计算 1 到 100 的总和

分别用while循环和for循环计算 1 到 100 的总和。

5.6.1 使用 while 循环

total = 0  # 用于存储总和

num = 1 # 从1开始累加

while num <= 100:

total += num # 相当于total = total + num

num += 1

print("1到100的总和是:", total) # 输出:1到100的总和是:5050

5.6.2 使用 for 循环

total = 0

for num in range(1, 101): # range(1, 101)生成1到100的整数

total += num

print("1到100的总和是:", total) # 输出:1到100的总和是:5050

5.7 小结

本章我们学习了 Python 中的循环语句,包括while循环(适用于根据条件重复执行的场景)和for循环(适用于遍历可迭代对象的场景),还了解了range()函数的用法、循环控制语句(break和continue)以及循环嵌套。

循环语句是编程中处理重复任务的核心工具,它可以大大提高代码的效率和简洁性。在实际应用中,循环经常与前面学过的条件语句结合使用,实现更复杂的逻辑。

下一章,我们将学习 Python 中的列表,它是一种非常重要的数据结构,用于存储多个元素。

相关推荐

NAS下搭建FastGpt,一个基于 LLM 大语言模型的知识库问答系统

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:熊猫不是猫QAQ前言FastGPT是一个基于LLM大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过Flow可...

MongoDB入门实操《二》_mongodb从入门到商业实战

常规命令使用首先我们来了解几个概念,虽然MongoDB入门实操《上篇》这篇文章已经提到过,这里再次加深印象:集合:Mongo中的集合就是mysql的表的表现形式文档:文档的数据结构和JSON基本...

Go语言零到一:数据库交互_go语言数据库连接池

引言Go语言的database/sql包为开发者提供了一个抽象层,使得与MySQL数据库的交互变得更加容易。1.安装MySQL驱动为了能够与MySQL数据库通信,我们需要安装go...

Java中使用MongoDB数据库_java操作mongo

一、Java实现对MongDB的操作1、前提条件除了通过启动mongo进程进如Shell环境访问数据库外,MongoDB还提供了其他基于编程语言的访问数据库方法。MongoDB官方提...

Spring Boot 集成 MongoDB:从入门到生产实践

1、MongoDB简介MongoDB是一个开源的、面向文档的NoSQL数据库,旨在提供高性能、高可用性和易扩展性。它与传统的关系型数据库(如MySQL)有着根本性的区别。面向文档(Docum...

发现一个不错的库推荐给大家:DuckDB + Python + Pandas 量化研究利器

大家好,我是花姐。最近折腾数据处理的时候,发现了一个宝藏库——DuckDB,配合Python和Pandas简直不要太香!今天我就聊聊它到底有多好用,特别适合我们搞量化研究的同学。1.Duck...

SpringBoot 自研「轻量级 API 防火墙」:单机内嵌,支持在线配置

1.背景与痛点在做后端开发时,我们常常会遇到这样的困境:接口被恶意刷流量:比如某个查询接口被短时间大量调用,数据库连接数打满,最终拖垮整个服务。缺少细粒度防护能力:很多系统只有粗糙的全局限流,但某些...

福建新画卷,把福建成绩“画”给你看

·x-_p-_o-[U2FsdGVkX1/DHR1fwp5qMkbHvRjusk9BgvDHM/8zbH+7Z+bZnW0jD3Vk67FnKGbJHp2L4vKFqg7ryQ7Zadr0+p+82E...

[续]江西话汉语赣方言之叠词_江西话什么意思

一、赣语耒阳话每次去湖南耒阳,老俵听到我是江西人,都分外亲切:“我们祖上是从江西迁过来的!”在得知明朝初年湖广因战乱赤地千里,耒阳人祖上大都从江西永新迁来后,我就特别留意耒阳方言:耒阳话不仅保留了老...

SpringBoot 在线依赖包漏洞扫描仪,一键发现潜在安全漏洞

在日常项目开发中,依赖第三方库几乎是不可避免的。从spring-boot-starter到MyBatis、Log4j,再到各种工具类库,几乎每个应用都需要几十甚至上百个依赖。然而,这些依赖并非完...

一文学会Python的变量命名规则!_简述python变量命名规则

目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...

Python中8种Functools使用方法_python functools.partial

在本文中,我们来看看functools标准库模块以及您可以用它做的6件很酷的事情1.缓存可以使用@cache装饰器(以前称为@lru_cache)作为“简单的轻量级无界函数缓存”。典型的例子是...

每天5分钟,python 速成(59)_python速成视频教程

首先明确学习目标,今天的目标是python中模块学习模块模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块importrandomimportmath#数学相...

珍藏版-11款爱心的免费公布的数学方程式和可视化-python版

一,图:1直角坐标系(9款):2追加一款:直角坐标系:3极坐标系(1款):二,爱心的数学方程式:1直角坐标系:1.1方程式1:Love-1进行转换:python代码中需要进行修改为:x=...

12种不同方法教你用Python性能优化!(建议收藏)

前言:今天为大家带来的内容是12种不同方法教你用Python性能优化!希望通过本文的内容能够帮助到各位!(代码块是用图片的方式呈现出来)1.减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。...