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

辞掉月薪3000的工作那天,我只写了7行Python代码,从入门到精通 第四节 分支与循环

目录

1、python的分支

2、python的循环

本节我们来学习python中的结构循环与分支。

1、python的分支

Python 的条件判断非常简洁,不需要加括号(用缩进代替了大括号),核心关键词是ifelif(else if 的缩写)和else

if 条件表达式1: # 条件1成立时执行的代码块 elif 条件表达式2: # 条件1不成立,且条件2成立时执行的代码块 elif 条件表达式3: # 条件1、2不成立,且条件3成立时执行的代码块 else: # 上面所有条件都不成立时执行的代码块

注意点:elifelse都是可选的。elif可以有 0 到多个,但else只能放在最后面,且最多只有一个。

使用if、elif时注意隐含条件,这样可以简化我们的代码。例如下面代码 100>num>=90和num>=90,显然后者更为简洁,因为进入第一个elif即满足num<100的情况。第二个elif即满足num<90的情况。分支里面套分支。最好不要套超过3个分支,这样会降低代码可读性。

num = int(input("请输入成绩")) if num < 0 or num > 100 : print("成绩不合法") elif num >= 90 : print("优秀") elif num >= 70 : print("良好") elif num >= 60 : print("渣渣") else : print("不及格")

2、python的循环(for

for循环主要用于遍历任何可迭代对象。

(1)遍历序列:

fruits = ["苹果", "香蕉", "橘子"] for fruit in fruits: print(f"我喜欢吃 {fruit}") # 输出:我喜欢吃 苹果...

(2)结合range()函数(控制循环次数):
range(start, stop, step)用于生成一个整数序列。可以不加起始位和步长,但必须加停止位。

range(5)-> 生成 0, 1, 2, 3, 4 (从0开始,不包含5)

range(1, 5)-> 生成 1, 2, 3, 4

range(1, 10, 2)-> 生成 1, 3, 5, 7, 9 (步长为2)

for i in range(3): print(f"这是第 {i+1} 次循环") # 输出 # 这是第 1 次循环 # 这是第 2 次循环 # 这是第 3 次循环

(3)循环的控制语句:breakcontinue

这两个语句用来在循环中途干预流程。

break立即跳出当前所在的整个循环(彻底结束循环)。

for i in range(10): if i == 5: break # 当 i 等于 5 时,循环直接终止,后面的 6,7,8,9 不会打印 print(i)

continue跳过当前这一次循环中剩余的代码,直接开始下一次循环。

for i in range(10): if i % 2 == 0: continue # 如果 i 是偶数,跳过后面的打印,直接进入下一次循环 print(i) # 只会打印奇数:1, 3, 5, 7, 9

(4)for...else

不仅分支中有else,在for中也有else。else块中的代码,只有在循环正常结束(即没有遇到break跳出)时才会执行。

# 查找列表中是否存在某个元素 items = [1, 3, 5, 7] search = 9 for item in items: if item == search: print("找到了!") break else: print("找遍了整个列表,没有找到该元素。") # 因为上面没有 break,这个 else 会执行
http://www.cnnetsun.cn/news/3276322.html

相关文章:

  • RTP与RTCP端口对(偶数/奇数)配置:3种常见场景下的网络策略
  • Kafka 2.8+ 消费延迟监控实战:3种方法对比与JMX指标深度解析
  • 电商物流的底层逻辑:从查询工具到数据资产的完整认知
  • PyPI 包版本管理与更新:Twine 上传 3 种常见错误与解决方案
  • UE5.5编译内存访问冲突?BuildConfiguration.xml配置调优全解析
  • LinkBoy 5.0 + ESP32 时钟项目实战:3种显示方案(数码管/OLED/彩屏)代码对比
  • SpringBoot集成LangChain4j构建生产级AI Agent服务骨架
  • 一条SQL从3秒优化到45毫秒,我只做了三步
  • Redis 7.2 集群数据一致性实战:3种主从复制延迟场景与WAIT命令调优
  • 子网划分与 CIDR 无分类编址:3 个实战案例解析 IPv4 地址规划
  • 如何轻松搞定整篇论文?整理全网实用性拉满的写作神器网站
  • 2026年AI论文生成工具哪款好用?5大热门平台实测对比指南
  • 模型能力悬余与工具调用:AI应用开发中的核心挑战与工程实践
  • ACT、Diffusion Policy、 π0、π0-fast、SmolVLA(1)
  • 大数据毕设项目: 基于 Python 的微博热搜用户关注度分析系统的设计与实现 基于 Python 的热门微博动态数据研判系统(源码+文档,讲解、调试运行,定制等)
  • Unity集成Lua脚本:从架构设计到双向通信的完整实践指南
  • MAX77654与PIC18F46K22嵌入式电源管理方案详解
  • 蓝白风暴席卷BW2026!雷克沙展台首日燃情纪实
  • Windows 隐藏账户检测:4种工具与命令对比分析(含D盾、WMIC)
  • 如何限制ace扫盘(全网最懒教程)
  • 串口波特率精度优化:分数波特率发生器(FDR)原理与C语言实现(附误差<0.2%代码)
  • CTF MISC 工具链实战:Binwalk、Zsteg、WinHex 破解 PNG 双隐写(2 工具 3 步骤)
  • 华磊迅拓R19/AIL产品解析:AI驱动的MES系统架构与应用实践
  • GelSight Mini 视触传感器开箱配置:5分钟从拆箱到获取第一张触觉图像
  • Unity URP屏幕空间描边:原理、集成与移动端性能优化实战
  • 应届生求职,证书到底能不能加分?
  • Zotero PDF Translate终极兼容性指南:如何解决Zotero 6到7版本升级的翻译插件难题
  • 3步完成网易云音乐NCM文件解密:ncmdump实用操作指南
  • Streamlit 1.36 + Plotly 5.22 实战:5步构建CSV数据动态分析看板
  • 无电流传感器模型预测控制的串联谐振 DAB 变换器控制策略研究(Simulink仿真实现)