当前位置: 首页 > 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.rkmt.cn/news/1386717.html

相关文章:

  • 2026年第二季度温州软装品牌推荐指南:聚焦本土优质服务商 - 2026年企业推荐榜
  • DeepSeek代码风格检查终极配置包,含21个行业定制规则集(限首批下载,仅开放72小时)
  • MATLAB小波分析实战:如何用信号延伸消除边界效应,并精准提取小波系数实部?
  • Hi-C辅助组装新选择:用Chromap+Yahs替代3D-DNA,速度与准确率双提升
  • 我踩过的坑:用AppSmith(PagePlug)开发微信小程序的5个实战经验与局限
  • Hitboxer:让你的键盘操作如丝般顺滑的游戏按键优化神器
  • ETS2LA:欧洲卡车模拟2自动驾驶插件的终极免费指南
  • 量子神经网络分段回归方法在科学计算中的应用
  • 印刷传感器技术在环境监测中的应用与制造工艺
  • 2026-05-25 GitHub 热点项目精选
  • 2026在线测评系统十大量表对比:信效度与场景全解析
  • AI大模型应用开发全攻略:从入门到精通,掌握LLM、RAG、Agent核心技能!“
  • ③ AI副业第一步:如何找到适合自己的AI赚钱赛道
  • 量子计算中Loschmidt回声相位测量的创新方法
  • 别再手动拖拽了!用QGIS+PostGIS+GeoServer实现GIS数据自动化发布与更新
  • 不止是缩放:深入理解Kali Linux下GTK、Qt和Java应用的HiDPI适配逻辑
  • 新手避坑指南:在Ubuntu上搞定GeekOS Project0的完整流程(含权限问题解决)
  • 告别龟速传输:用FastCopy解锁Windows大文件与海量小文件拷贝的终极性能
  • 普通程序员OPC,从做一个能卖的小工具开始
  • 作业本耐用度差距巨大?深圳大明印刷厂拆解合规工艺,告别定制作业本掉页开裂通病
  • DeepSeek系统设计辅助效能断崖式下降的3个信号,第2个90%工程师至今未察觉!
  • Hitboxer:开源SOCD清理工具,3分钟提升游戏操作精准度
  • 面试最后一问:我如何定义“Python 高级工程师”?
  • 量子计算中的算术运算优化与QHC加法器实现
  • 的第一次把对于编码的时间生活用文字记录下来
  • Podman Desktop镜像加速终极指南:一键搞定阿里云、中科大等源,并接入公司私仓
  • 从‘换硬币’到算法优化:探索穷举法的效率边界与改进思路
  • GEMM内核与MHA中的寄存器分配优化策略
  • 本地柴油发电机组排行2023年最新榜单
  • Rydberg原子量子门实现原理与优化技术