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

Python速成系列二

文章目录

  • Python 条件语句与循环结构详解
    • 一、条件语句(if-elif-else)
      • 1. 基本 if 结构
      • 2. if-else 结构
      • 3. if-elif-else 结构
      • 4. 嵌套条件语句
      • 5. 三元表达式(条件表达式)
    • 二、循环结构
      • 1. while 循环
      • 2. for 循环
      • 3. 循环控制语句
        • break - 终止整个循环
        • continue - 跳过当前迭代
        • else - 循环正常结束后执行
      • 4. 循环嵌套
      • 5. 无限循环与退出
    • 三、实用技巧
    • 四、常见应用场景

Python 条件语句与循环结构详解

一、条件语句(if-elif-else)

1. 基本 if 结构

if 条件:# 条件为True时执行的代码

示例:

age = 20
if age >= 18:print("您已成年")

2. if-else 结构

if 条件:# 条件为True时执行的代码
else:# 条件为False时执行的代码

示例:

age = 16
if age >= 18:print("您已成年")
else:print("您未成年")

3. if-elif-else 结构

if 条件1:# 条件1为True时执行
elif 条件2:# 条件2为True时执行
else:# 所有条件都为False时执行

示例:

score = 85
if score >= 90:print("优秀")
elif score >= 80:print("良好")
elif score >= 60:print("及格")
else:print("不及格")

4. 嵌套条件语句

if 条件1:if 条件2:# 条件1和条件2都为True时执行else:# 条件1为True但条件2为False时执行
else:# 条件1为False时执行

示例:

age = 20
has_id = Trueif age >= 18:if has_id:print("可以进入酒吧")else:print("需要出示身份证")
else:print("未成年人禁止进入")

5. 三元表达式(条件表达式)

语法:值1 if 条件 else 值2

示例:

age = 18
status = "成年" if age >= 18 else "未成年"
print(status)  # 输出:成年# 等同于:
if age >= 18:status = "成年"
else:status = "未成年"

二、循环结构

1. while 循环

用于不确定循环次数的场景

基本语法:

while 条件:# 循环体代码

示例1:基础while循环

count = 0
while count < 5:print(count)count += 1

示例2:用户输入验证

pd= ""
while pd!= "content":pd= input("请输入密码:")
print("密码正确!")

2. for 循环

用于遍历序列或已知循环次数的场景

基本语法:

for 变量 in 序列:# 循环体代码

示例1:遍历列表

fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:print(fruit)

示例2:配合range()使用

# range(stop) - 生成0到stop-1的整数序列
for i in range(5):  # 0,1,2,3,4print(i)# range(start, stop) - 生成start到stop-1的整数序列
for i in range(2, 5):  # 2,3,4print(i)# range(start, stop, step) - 以step为步长生成序列
for i in range(0, 10, 2):  # 0,2,4,6,8print(i)

3. 循环控制语句

break - 终止整个循环
for i in range(10):if i == 5:breakprint(i)  # 输出0,1,2,3,4
continue - 跳过当前迭代
for i in range(10):if i % 2 == 0:continueprint(i)  # 输出1,3,5,7,9
else - 循环正常结束后执行
for i in range(5):print(i)
else:print("循环正常结束")# 如果循环被break中断,else不会执行
for i in range(5):if i == 3:breakprint(i)
else:print("这行不会执行")

4. 循环嵌套

# 打印九九乘法表
for i in range(1, 10):for j in range(1, i+1):print(f"{j}x{i}={i*j}", end="\t")print()  # 换行

5. 无限循环与退出

while True:command = input("请输入命令:")if command == "exit":breakprint(f"执行命令:{command}")

三、实用技巧

  1. 使用enumerate()同时获取索引和值
fruits = ["苹果", "香蕉", "橙子"]
for index, fruit in enumerate(fruits):print(f"第{index+1}个水果是{fruit}")
  1. 使用zip()并行迭代多个序列
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):print(f"{name}今年{age}岁")
  1. 列表推导式中的条件
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers if x % 2 == 0]
# 结果:[4, 16]
  1. 字典推导式
words = ["hello", "world", "python"]
word_lengths = {word: len(word) for word in words}
# 结果:{'hello': 5, 'world': 5, 'python': 6}

四、常见应用场景

  1. 菜单选择系统
while True:print("1. 查询余额")print("2. 存款")print("3. 取款")print("4. 退出")choice = input("请选择操作:")if choice == "1":print("余额查询中...")elif choice == "2":print("存款操作...")elif choice == "3":print("取款操作...")elif choice == "4":breakelse:print("无效输入,请重新选择")
  1. 数字猜谜游戏
import randomtarget = random.randint(1, 100)
attempts = 0while True:guess = int(input("猜一个1-100的数字:"))attempts += 1if guess < target:print("猜小了")elif guess > target:print("猜大了")else:print(f"恭喜!你猜对了,用了{attempts}次")break
  1. 文件内容处理
# 统计文件中每个单词出现的次数
word_count = {}
with open("example.txt") as file:for line in file:words = line.strip().split()for word in words:word_count[word] = word_count.get(word, 0) + 1

⭐⭐⭐
对于每个阶段的学习,不能仅仅只停留在看懂了的基础上,要动手去实践,真正记到脑子里,这是最重要的🔥🔥🔥

相关文章:

  • React hooks详解
  • 新能源实验室电磁兼容设计优化方案论述
  • HTML02:网页基本信息
  • 苍穹外卖部署到云服务器使用Docker
  • 软考 系统架构设计师系列知识点之杂项集萃(52)
  • 观察者模式(Observer Pattern)详解
  • 自由学习记录(58)
  • n8n工作流自动化平台的实操:利用本地嵌入模型,完成文件内容的向量化及入库
  • 从 0 到 1:使用 Jetpack Compose 和智能自动化实现高效 Android UI 开发
  • 2025 年如何使用 Pycharm、Vscode 进行树莓派 Respberry Pi Pico 编程开发详细教程(更新中)
  • HTML学习笔记(7)
  • PHP的include和require
  • 基于STM32的心电图监测系统设计
  • 【前端】【面试】在 Vue-React 的迁移重构工作中,从状态管理角度来看,Vuex 迁移到 Redux 最大的挑战是什么,你是怎么应对的?
  • 力扣面试150题--相同的树
  • 嵌入式按键原理、中断过程与中断程序设计(键盘扫描程序)
  • 【CISCO】什么是静态路由(Static Route)?ip route 192.0.1.0 255.255.255.0 200.0.0.1
  • 高等数学同步测试卷 同济7版 试卷部分 上 做题记录 第四章 不定积分同步测试卷 B卷
  • LeetCode刷题链表
  • Spring AI 实战:第四章、Spring AI多模态之看图说话
  • 准80后遵义市自然资源局局长陈清松任仁怀市委副书记、代市长
  • 人形机器人,最重要的还是“脑子”
  • “三桶油”一季度净赚966亿元:业绩分化加剧,有人欢喜有人愁
  • 购车补贴、“谷子”消费、特色产品,这些活动亮相五五购物节
  • 市场监管总局出手整治涉企乱收费,聚焦政府部门及下属单位等领域
  • 五一去哪儿|外国朋友来中国,“买买买”成为跨境旅游新趋势