python基础--流程控制之循环

Python基础系列:(三)Python流程控制if结构、循环结构 Python流程控制if结构、for循环,while循环结构 阅读详情

目标

  • 了解循环
  • while语法【重点】
  • while应用
  • break和continue
  • while循环嵌套【重点】
  • while循环嵌套应用【难点】
  • for循环

一. 循环简介

1.1 循环的作用

思考:假如我有个女朋友,有一天我们闹矛盾生气了,女朋友说:道歉,说100遍“媳妇儿,我错了”。这个时候程序员会怎么做?

答:100遍print('媳妇儿,我错了')

思考:复制粘贴100次吗?

答:重复执行100次一样的代码,程序中循环即可

循环的作用:让代码更高效的重复执行。

1.2 循环的分类

在Python中,循环分为while和for两种,最终实现效果相同。

二. while的语法

while 条件:
    条件成立重复执行的代码1
    条件成立重复执行的代码2
    ......

2.1 快速体验

需求:复现重复执行100次print('媳妇儿,我错了')(输出更简洁一些,我们这里设置5次)。

分析:初始值是0次,终点是5次,重复做的事情输出“媳妇儿, 我错了”。

# 循环的计数器
i = 0
while i < 5:
    print('媳妇儿,我错了')
    i += 1

print('任务结束')

三. while的应用

3.1 应用一:计算1-100累加和

分析:1-100的累加和,即1 + 2 + 3 + 4 +….,即前两个数字的相加结果 + 下一个数字( 前一个数字 + 1)。

i = 1
result = 0
while i <= 100:
    result += i
    i += 1

# 输出5050
print(result)

注意:为了验证程序的准确性,可以先改小数值,验证结果正确后,再改成1-100做累加。

3.2 应用二:计算1-100偶数累加和

分析:1-100的偶数和,即 2 + 4 + 6 + 8…,得到偶数的方法如下:

  • 偶数即是和2取余结果为0的数字,可以加入条件语句判断是否为偶数,为偶数则累加
  • 初始值为0 / 2 , 计数器每次累加2

3.2.1 方法一:条件判断和2取余数则累加

# 方法一:条件判断和2取余数为0则累加计算
i = 1
result = 0
while i <= 100:
    if i % 2 == 0:
        result += i
    i += 1

# 输出2550
print(result)

3.2.2 方法二:计数器控制

# 方法二:计数器控制增量为2
i = 0
result = 0
while i <= 100:
    result += i
    i += 2

# 输出2550
print(result)

四、break和continue

break和continue是循环中满足一定条件退出循环的两种不同方式。

4.1 理解

举例:一共吃5个苹果,吃完第一个,吃第二个…,这里"吃苹果"的动作是不是重复执行?

情况一:如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第五个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环。

情况二:如果吃的过程中,吃到第三个吃出一个大虫子…,是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码。

4.1.1 情况一:break

i = 1
while i <= 5:
    if i == 4:
        print(f'吃饱了不吃了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

执行结果:

在这里插入图片描述

4.1.2 情况二:continue

i = 1
while i <= 5:
    if i == 3:
        print(f'大虫子,第{i}个不吃了')
        # 在continue之前一定要修改计数器,否则会陷入死循环
        i += 1
        continue
    print(f'吃了第{i}个苹果')
    i += 1

执行结果:

在这里插入图片描述

五. while循环嵌套

5.1 应用场景

故事梗概:有天女朋友又生气了,惩罚:说3遍“媳妇儿, 我错了”,这个程序是不是循环即可?但如果女朋友说:还要刷今天晚饭的碗,这个程序怎么书写?

while 条件:
    print('媳妇儿, 我错了')
print('刷晚饭的碗')

但如果女朋友还是生气,把这套惩罚要连续3天都执行,有如何书写程序?

while 条件:
    while 条件:
        print('媳妇儿, 我错了')
    print('刷晚饭的碗')

5.2 语法

while 条件1:
    条件1成立执行的代码
    ......
    while 条件2:
        条件2成立执行的代码
        ......

总结:所谓while循环嵌套,就是一个while里面嵌套一个while的写法,每个while和之前的基础语法是相同的。

5.3 快速体验:复现场景

5.3.1 代码

j = 0
while j < 3:
    i = 0
    while i < 3:
        print('媳妇儿,我错了')
        i += 1
    print('刷晚饭的碗')
    print('一套惩罚结束----------------')
    j += 1

5.3.2 执行结果

在这里插入图片描述

5.3.3 理解执行流程

当内部循环执行完成之后,再执行下一次外部循环的条件判断。

在这里插入图片描述

六. while循环嵌套应用

6.1 应用一:打印星号(正方形)

6.1.1 需求

*****
*****
*****
*****
*****

6.1.2 代码

分析:一行输出5个星号,重复打印5行

# 重复打印5行星星
j = 0
while j <= 4:
    # 一行星星的打印
    i = 0
    while i <= 4:
        # 一行内的星星不能换行,取消print默认结束符\n
        print('*', end='')
        i += 1
    # 每行结束要换行,这里借助一个空的print,利用print默认结束符换行
    print()
    j += 1

6.2 应用二:打印星号(三角形)

6.2.1 需求

*
**
***
****
*****

6.2.2 代码

分析:一行输出星星的个数和行号是相等的,每行:重复打印行号数字个星号,将打印行星号的命令重复执行5次实现打印5行。

# 重复打印5行星星
# j表示行号
j = 0
while j <= 4:
    # 一行星星的打印
    i = 0
    # i表示每行里面星星的个数,这个数字要和行号相等所以i要和j联动
    while i <= j:
        print('*', end='')
        i += 1
    print()
    j += 1

6.3 九九乘法表

6.3.1 执行结果

在这里插入图片描述

6.3.2 代码

# 重复打印9行表达式
j = 1
while j <= 9:
    # 打印一行里面的表达式 a * b = a*b
    i = 1
    while i <= j:
        print(f'{i}*{j}={j*i}', end='\t')
        i += 1
    print()
    j += 1

七、for循环

7.1 语法

for 临时变量 in 序列:
    重复执行的代码1
    重复执行的代码2
    ......

7.2 快速体验

str1 = 'itheima'
for i in str1:
    print(i)

执行结果:

在这里插入图片描述

7.3 break

str1 = 'itheima'
for i in str1:
    if i == 'e':
        print('遇到e不打印')
        break
    print(i)

执行结果:

在这里插入图片描述

7.4 continue

str1 = 'itheima'
for i in str1:
    if i == 'e':
        print('遇到e不打印')
        continue
    print(i)

执行结果:

在这里插入图片描述

八. else

循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。

8.1 while…else

需求:女朋友生气了,要惩罚:连续说5遍“媳妇儿,我错了”,如果道歉正常完毕女朋友就原谅我了,这个程序怎么写?

i = 1
while i <= 5:
    print('媳妇儿,我错了')
    i += 1
print('媳妇儿原谅我了...')

思考: 这个print是不是没有循环也能执行?

8.1.1 语法

while 条件:
    条件成立重复执行的代码
else:
    循环正常结束之后要执行的代码

8.1.2 示例

i = 1
while i <= 5:
    print('媳妇儿,我错了')
    i += 1
else:
    print('媳妇原谅我了,真开心,哈哈哈哈')

在这里插入图片描述

8.1.3 退出循环的方式

需求:女朋友生气,要求道歉5遍:媳妇儿,我错了。道歉到第三遍的时候,媳妇埋怨这一遍说的不真诚,是不是就是要退出循环了?这个退出有两种可能性:

  • 更生气,不打算原谅,也不需要道歉了,程序如何书写?
  • 只一遍不真诚,可以忍受,继续下一遍道歉,程序如何书写?
  1. break
i = 1
while i <= 5:
    if i == 3:
        print('这遍说的不真诚')
        break
    print('媳妇儿,我错了')
    i += 1
else:
    print('媳妇原谅我了,真开心,哈哈哈哈')

在这里插入图片描述

所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。

  1. continue
i = 1
while i <= 5:
    if i == 3:
        print('这遍说的不真诚')
        i += 1
        continue
    print('媳妇儿,我错了')
    i += 1
else:
    print('媳妇原谅我了,真开心,哈哈哈哈')

在这里插入图片描述

因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

8.2 for…else

8.2.1 语法

for 临时变量 in 序列:
    重复执行的代码
    ...
else:
    循环正常结束之后要执行的代码

所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。

8.2.2 示例

str1 = 'itheima'
for i in str1:
    print(i)
else:
    print('循环正常结束之后执行的代码')

8.2.3 退出循环的方式

  1. break终止循环
str1 = 'itheima'
for i in str1:
    if i == 'e':
        print('遇到e不打印')
        break
    print(i)
else:
    print('循环正常结束之后执行的代码')

执行结果:

在这里插入图片描述

没有执行else缩进的代码。

  1. continue控制循环
str1 = 'itheima'
for i in str1:
    if i == 'e':
        print('遇到e不打印')
        continue
    print(i)
else:
    print('循环正常结束之后执行的代码')

执行结果:

在这里插入图片描述

因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

总结

  • 循环的作用:控制代码重复执行
  • while语法
while 条件:
    条件成立重复执行的代码1
    条件成立重复执行的代码2
    ......
  • while循环嵌套语法
while 条件1:
    条件1成立执行的代码
    ......
    while 条件2:
        条件2成立执行的代码
        ......
  • for循环语法
for 临时变量 in 序列:
    重复执行的代码1
    重复执行的代码2
    ......
  • break退出整个循环
  • continue退出本次循环,继续执行下一次重复执行的代码
  • else
    • while和for都可以配合else使用
    • else下方缩进的代码含义:当循环正常结束后执行的代码
    • break终止循环不会执行else下方缩进的代码
    • continue退出循环的方式执行else下方缩进的代码
Python基础——流程控制之循环语句 文章目录一. 循环简介1.1 循环的作用1.2 循环的分类二. while的语法2.1 快速体验三. while的应用3.1 应用一:计算1-100累加和3.2 应用二:计算1-100偶数累加和3.2.1 方法一:条件判断和2取余数则累加3.2.2 方法二:计数器控制四、break和continue4.1 理解4.1.1 情况一:break4.1.2 情况二:continue五. while循环嵌套5.1 应用场景5.2 语法5.3 快速体验:复现场景5.3.1 代码5.3.2 理解执行流程六. while 阅读详情

相关推荐

Python中的for循环用法详解,一文搞定它

在Python中,for循环是一种迭代结构,用于遍历可迭代对象(如列表、元组、字符串、字典、集合等)中的元素。for循环可以解决while循环的局限性

景天科技苑 7429

Python基础(11)——Python循环(while、for)

思考:假如我有个女朋友,有一天我们闹矛盾生气了,女朋友说:道歉,说100遍“媳妇儿,我错了”。这个时候程序员会怎么做?答:100遍print('媳妇儿,我错了')思考:复制粘贴100次吗?答:重复执行100次一样的代码,程序中循环即可循环的作用:让代码更高效的重复执行。循环的作用:控制代码重复执行while语法while 条件 : 条件成立重复执行的代码 1 条件成立重复执行的代码 2 . . . . . .while循环嵌套语法。

老板来片烤面包的博客 3万+

【Python入门】5大Python循环技巧:你真的掌握了吗?

循环是一种重复执行某段代码的结构,直到满足某个条件为止。通过循环,可以避免重复编写相同的代码,使程序更加简洁和高效。for循环用于遍历序列(如列表、元组、字符串等)或其他可迭代对象,每次迭代处理一个元素。while循环用于在条件满足时重复执行一段代码,直到条件不再满足为止。else子句可以与for或while循环一起使用,当循环正常结束(即没有被break语句中断)时执行。定义for循环用于遍历序列或其他可迭代对象,每次迭代处理一个元素。作用for循环适用于已知迭代次数的情况,使代码更加简洁和易读。

java专栏 1052

Python循环语句(while循环、for循环)

Python循环语句(while循环、for循环)

LAO__LIN的博客 1万+

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

求助:有没有基于pscad的锂电池仿真模型

求助:有没有基于pscad的锂电池仿真模型 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变没有 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写...

qq_38922523的博客 1222

【Python】Python中的循环语句

【Python】Python的基础知识——循环语句 详细介绍Python中的循环语句的相关内容……

蒙奇D索大的博客 1万+

CryoEM - 使用 ChimeraX 工具 操作 冷冻电镜的 MRC 密度图(Density Map) 教程

由冷冻电镜 CryoSparc 软件所生成的 Volume,需要观察其内部结构,建议使用 ChimeraX 进行操作。

AGI 4963

Python基础语法【第二篇】——流程控制、循环、字符串介绍

Python基础语法系列导航 1.[Python基础语法—第一篇—开发环境、变量、数据类型、运算符介绍](https://blog.youkuaiyun.com/weixin_44212573/article/details/121298528) Python基础语法—第二篇—流程控制、循环、字符串介绍Python基础语法系列导航前言04.if语句1.if 的作用和语法2.if .. else..3.elif4.if嵌套5.random模块6.三目运算符05.while循环1.while的作用和语法2.break和

陈景中的博客 1324

反爬虫:POST 请求参数中 Sign 的加密机制详解,并设计带 Sign 校验的网站

本文介绍了API请求中sign签名的生成原理及实现方法。sign是通过对请求参数加密生成的一串字符串,用于验证请求合法性,防止参数篡改、重放攻击和伪造请求。其生成步骤包括参数排序、拼接字符串、加盐和哈希加密。文章还演示了如何在FastAPI后端实现带sign验证的新闻网站,包括参数校验、时间戳验证和签名比对等安全措施,有效提升API安全性,增加爬虫逆向难度。

数据知道的博客 4078

ABAP Secure Storage 在事务码 SM59 中的应用

系统管理人员在进行维护时,应关注相关日志信息,及时发现可能出现的安全异常,并针对不同安全等级的操作制定相应的备份与恢复策略,以降低潜在风险。该区域在设计上具备高度隔离性,仅允许经过授权的组件访问。保存后,系统会将密码存储在 Secure Storage 中,这种处理方式充分体现了 SAP 标准程序在安全设计上的考量。对于系统管理员而言,这种机制在日常维护与审计中提供了有力的支持,可以通过比对存储数据的哈希值或其他完整性校验手段,及时发现异常变动,保障系统长期稳定运行。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 678

Python基础之用户交互、流程控制、循环语句

python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java、c做对比,这样更好的理解记忆! 用户交互(输入)   input: 等待输入 输入的全是字符串类型,哪怕输入的是数字,也算作字符串类型(若需要转换为整型,则需要加int强制转换:int(str)) 将输入的内容赋值给前面的变量...

Sun's Blog 222

【Python计量】linearmodels面板数据回归(一)

我们以伍德里奇《计量经济学导论现代方法》的”第14章高级面板数据方法“的案例14.1为例,使用jtrain中的数据来进行固定效应估计。

mfsdmlove的博客 9277

Python基础(循环及流程控制)

Python基础(循环及流程控制) 一,内置函数range() range()函数 用于生成一个整数序列 创建range对象的三种方式 range() #range()的三种创建方式 ''' 第一种创建方式,只有一个参数(小括号中只给了一个数) ''' r=range(10) print(r) print(list(r)) #用于查看range对象中的参数序列 --List是列表的意思 默认从0开始,默认步长为1,不包括10 输出: range(0, 10) [0, 1, 2, 3,

qq_36068496的博客 726

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1343

【导航理论&实战篇】四足机器人弹簧倒立摆(SLIP)动力学模型

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对四足机器人动力学模型-VMC、SLIP和浮动机体模型做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章四足机器人弹簧加载倒立摆(SLIP)动力学模型是一种用于描述和分析四足机器人在运动过程中动态特性的理论模型。这种模型将四足机器人的腿部简化为弹簧,而机器人的身体则被视为一个倒立摆,这样的抽象使得研究者能够更容易地分析和控制机器人的运动。提示:以下是本篇文章正文内容。

qq_35635374的博客 806

python输入end退出循环_Python 基础4之流程控制

今天流程控制专题流程控制与代码的执行顺序息息相关,流程控制相关的关键字,如if,elif,for,while,break,continue,else,return,yield,pass等。本专题详细总结与流程控制相关的基础和进阶用法,大纲如下:基础用法1 if 用法2 for 用法3 while,break,continue进阶用法4 for 使用注意5 range 序列6 Pytho...

weixin_29696711的博客 403

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python基础之流程控制和循环结构

一、流程控制 百度百科对流程控制的解释是“控制流程(也称为流程控制)是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。不论是在声明式编程语言或是函数编程语言中,都有类似的概念。在声明式的编程语言中,流程控制指令是指会改变程序运行顺序的指令,可能是运行不同位置的指令,或是在二段(或多段)程序中选择一个运行。”,其实流程控制就是人为的通过某些规则来控制程序的运行...

JaysonWong的博客 1361

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python基础入门:2.4流程控制:条件与循环

在接下来的文章中,我们将深入探讨Python函数的定义与使用,并构建一个支持多种运算的智能计算模块。遇到continue?

赵鑫亿的博客 992

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Python 流程控制完全指南:条件语句 + 循环语句 + 实战案例(零基础入门)

掌握变量、类型和运算符后,要写出有逻辑、能解决实际问题的 Python 程序,核心是掌握流程控制—— 也就是让代码 “按需执行”“重复执行”。Python 的流程控制主要包括条件语句(if-elif-else)和循环语句(while/for),它们是实现复杂逻辑(如游戏、工具脚本)的基础。本文结合核心知识点,从条件语句的语法规则、循环语句的灵活用法,到空语句 pass 的作用,再到综合实战案例,一步步帮你吃透 Python 流程控制,让代码按照你的想法 “听话执行”。

会当凌绝顶,一览众山小 2735

【Python基础:语法第二课】Python 流程控制详解:条件语句 + 循环语句 + 人生重开模拟器实战

条件语句能够表达“如果 … 否则 …”这样的语义。这构成了计算机中基础的逻辑判定。条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向。如果我认真敲代码我就很容易找到工作否则我就容易毕业就失业虽然结构变了, 但是整体表达的语义是等价的。

艾莉丝努力练剑的博客,感谢大家一直以来的对艾莉丝的支持和鼓励,uu们如果对C/C++方向感兴趣的话,可以通过艾莉丝主页的微信名片加艾莉丝的好友,和努力练剑的艾莉丝一起加油! 3512

Python 基础语法笔记 Day 3 :运算符、流程控制与循环 案例练习

本文介绍了Python中的身份运算符、成员运算符和流程控制方法。身份运算符(is/isnot)用于比较内存地址,而非内容(==)。成员运算符(in/notin)判断元素是否属于可迭代对象。流程控制包括判断语句(if-elif-else、match-case)和循环语句(while)。match-case是Python3.10新增的模式匹配语法。文章还通过20多个编程示例(如奇数和、水仙花数、鸡兔同笼等)演示了这些概念的实际应用,包括数据类型处理、条件判断、循环控制等核心编程技巧。

ihghhfffv的博客 595

pythonfor循环步骤_python基础之流程控制及for循环

python中主要通过if判断以及while循环来实现流程控制,下面来逐一进行详细说明。一、if判断语句if判断分为单分支以及多分支两种情况,首先来说单分支的情况,看如下代码cmd=input(''>>:)if cmd == 'quit':break上面这段代码就是if单分支的情况,只使用if做条件判断,当然可以把几个if连用,如下代码oldboy_age=85age=input('age:')i...

weixin_39976499的博客 231

python基础-3(格式化输出的三种方式,基本运算符,流程控制之if判断,流程控制之while循环,流程控制之for循环)...

python基础 格式化输出的三种方式 一.占位符(老版本) name = 'jqc' age = 26 print('my name is %s my age is %d' % (name, age)) my name is jqc my age is 26 %s(针对所有数据类型)、%d(仅仅针对数字类型) 二.format格式化(鸡肋,不常用) name = 'jqc' age =...

azixyysqcajx2881的博客 169

22 Python基础之流程控制之for循环

流程控制之for循环一 语法二 for + break三 for + continue四 for循环嵌套五 for+else六 for循环实现loading 一 语法 为什么有了while循环,还需要有for循环呢?不都是循环吗? 我给大家出个问题,我给出一个列表,我们把这个列表里面的所有名字取出来。 name_list = ['nick', 'jason', 'tank', 'sean'] n...

fxyadela的博客 153
上一篇: python基础--流程控制之条件语句
下一篇: python基础--函数的应用、lambda表达式以及高阶函数
Jared  Chen
博客等级 码龄7年 559粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Jared Chen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值