当前位置: 首页 > news >正文

[03]python基础语法学习

循环

什么是循环

在Python中,循环是一种重复执行特定代码块的结构.

循环的作用

让代码高效的重复执行

循环的种类

在Python中,循环一共分为两大类:while循环for循环

while循环和for循环两者该如何选择呢?

①:对于循环次数固定的(已知)情况下,建议使用for循环, 例如: 1~100循环

②:对于循环次数未知(不确定)的情况下,建议使用while循环, 例如: 猜数字游戏

while循环

基本语法格式

# Step1: 定义一个计数器(初始化一个计数器)
i = 0或1
# Step2: 编写while循环结构
while 循环条件(判断 计数器 是否达到了目标位置):
循环体1
循环体2
...
# Step3: 在循环内部更新计数器
i = i + 1 或 i += 1

示例: 需要让计数器循环10次

# while 1==1: # print(1) # 希望 使用while 循环 执行十次循环体 num = int( input('请输入循环的次数:') ) # 定义一个计数器 记录循环了几次 i = 1 while i <= num: print(f'这是第{i}次循环了') # 执行一次循环 计数器+1 i = i+1

案例:使用while循环求1..100的和

# 使用while循环求1-100数字总和 # 初始值的计数器为1 count = 1 # count计数 i 因为java中使用i index #记录总和数字 total = 0 while count <= 100: total= total + count #更新计数器 count = count +1 print(f"总和为:{total}")

循环中的两大关键词

两大关键词

在Python循环中,经常会遇到两个常见的关键词:break 与 continue

break:代表终止整个循环结构

continue:代表中止当前本次循环,继续下一次循环

举个例子:

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

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

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

break关键字

# 演示: break关键词 # break: 终止当前循环 # 需求: 假设有5个苹果,如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第5个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环。 # 1- 定义计数器 i = 1 # 2- 定义循环操作 while i <= 5: print(f"正在吃第{i}个苹果") # 期望当吃完第三个, 就停止循环操作 if i == 3: print("吃饱了, 不吃了") break # 退出循环 # 3- 更新计数器 i += 1

continue关键字

# 演示 continue: # 功能: 跳过本次循环, 进入下一次循环 # 假设有5个苹果,如果吃的过程中,吃到第三个吃出一个大虫子...,是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码。 # 1- 定义计数器 i = 1 # 2- 定义循环操作 while i <= 5: # 当准备吃第三个的时候, 直接跳过 if i == 3: print(f"第{i}个苹果有虫子, 不吃了") # 更新计数器: i += 1 continue # 吃苹果 print(f"正在吃第{i}个苹果") # 3- 更新计数器 i += 1

死循环概念

在编程中一个靠自身控制无法终止的程序称为“死循环”。

在Python中,我们也可以使用while True来模拟死循环:

# 注意 如果条件永久成立, 那么这个循环也被成为 死循环 while True: print("这是一个死循环")

for循环

for循环基本语法

for循环结构主要用于(序列 => 字符串、列表、元组、集合以及字典)类型数据的遍历(循环)操作。

for循环主要用于序列类型数据的循环操作(遍历操作)

另外当循环次数未知的情况,建议使用for循环。

格式:

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

案例: 使用for循环遍历字符串"hello"

# 案例:使用for循环遍历字符串"hello" for e in 'hello': print(e)

range方法(函数)

主要作用:用于生成一段连续的内容,比如range(0,10) 表示的就是从0到9,range函数是一个左闭右开的一个取值

基本语法:

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循环案例

# 案例:for循环与range方法,使用for循环,循环5次: 0~5 for e in range(0, 5): print(e) print("-----------------------") # 案例: 使用for循环,求1 ~ 100之间所有偶数的和 sum = 0 for e in range(1,101): if e % 2 == 0: # 说明是偶数 sum += e # 输出结果 print(sum)

综合案例:使用for循环实现用户名+密码认证

""" 案例:用for循环实现用户登录 ① 输入用户名和密码 ② 判断用户名和密码是否正确(username='admin',password='admin888') ③ 登录仅有三次机会,超过3次会报错 暂定用户名为 admin 密码 admin """ # 还剩下输入错误的次数 count = 3 for temp in range(1,4): # 1.接收用户输入的用户名和密码 username = input('请输入您的用户名:') password = input('请输入您的密码:') print( username , password) # 2.判断用户名和密码是否正确 # 2.1 登陆成功 if username=='admin' and password=='admin': print('恭喜您登录成功') break # 2.2 登陆失败 else: if username!='admin': print('用户名输入错误') else: print('密码输入错误') # 还剩下输入错误的次数 count = count-1 print(f'您还剩下{count}次机会')

for循环中的else结构

基本语法:

for 临时变量 in 序列:
循环体
else:
当for循环正常结束后,返回的代码

break关键字对for...else结构的影响

break跳出循环后不会执行for else的代码

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

continue关键字对for...else结构的影响

continu只对本此循环有影响 所以不会影响else的执行

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

以上就是while循环和for循环的知识了, 欢迎指正,大家一起交流学习~

http://www.jsqmd.com/news/887581/

相关文章:

  • 2026在线测评系统十大量表对比:信效度与场景全解析
  • 2026年第二季度温州软装品牌推荐指南:聚焦本土优质服务商 - 2026年企业推荐榜
  • ARM指令追踪技术及TRCVICTLR寄存器详解
  • FPGA以太网调试翻车记:手把手教你排查RGMII时序问题(以Zynq和Marvell 88E151x为例)
  • 别再只关心电流了!硬件工程师选型Fuse时,电压和I²t这两个参数你搞懂了吗?
  • GEMM内核与MHA中的寄存器分配优化策略
  • Hitboxer:让你的键盘操作如丝般顺滑的游戏按键优化神器
  • ParaView时间戳设置全攻略:从基础标注到自定义格式(5.8.0实测)
  • 2026反光膜应用白皮书:一类反光膜/三类反光膜/五类反光膜/交通标志杆件/人防标牌/反光交通标牌/反光膜加工/选择指南 - 优质品牌商家
  • IPD的势、道、法、术、器
  • Wine 5.0 深度实践:从零搭建 Ubuntu 下的 Windows 应用生态(微信、游戏与优化全攻略)
  • OpenCore Legacy Patcher实战指南:让旧款Mac重获新生的完整教程
  • 从Wi-Fi到5G:聊聊那些藏在日常信号背后的‘衰落’秘密(大尺度/小尺度通俗解读)
  • 2026年济南SGEO优化月成本揭秘:性价比如何?
  • RTThread里rt_thread_suspend为啥不灵了?一个扫地洗碗的线程调度故事
  • 用Python+OpenCV手把手实现Prewitt边缘检测(附完整代码与效果对比图)
  • AI大模型应用开发全攻略:从入门到精通,掌握LLM、RAG、Agent核心技能!“
  • LabVIEW视觉入门避坑指南:用USB摄像头做二维码识别,为什么你的程序总卡顿或识别失败?
  • top50 BF16算力(TFLOPS) 显卡排行榜 天梯图
  • 非靶向代谢组学伯远非靶向代谢组学
  • 双像素技术与DiFuse-Net在单目深度估计中的应用
  • 新手也能搞定的CTF内存取证:用Volatility分析Win7镜像,从画图、记事本到TrueCrypt破解全流程
  • 告别龟速传输:用FastCopy解锁Windows大文件与海量小文件拷贝的终极性能
  • 普通程序员OPC,从做一个能卖的小工具开始
  • 蜗牛兼职网的设计与实现(源码+毕设)
  • Linux系统调用中断机制的全部流程
  • 别再死记硬背LSTM公式了!用Python手写一个带Sigmoid和Tanh的细胞,5分钟搞懂门控机制
  • 从零到一:手把手教你配置mediasoup-demo的config.js,让WebRTC服务器真正跑起来
  • 从‘换硬币’到算法优化:探索穷举法的效率边界与改进思路
  • 从天线排布到算法:手把手教你搞定毫米波雷达的角度模糊问题