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

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

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

http://www.xdnf.cn/news/3768.html

相关文章:

  • 多段线和二维多段线的区别及顶点遍历
  • Linux54 源码包的安装、修改环境变量解决 axel命令找不到;getfacl;测试
  • OpenHarmony平台驱动开发(一),ADC
  • 大模型实践:图文解锁Ollama在个人笔记本上部署llm
  • 一格一格“翻地毯”找单词——用深度优先搜索搞定单词搜索
  • [硬件电路-12]:LD激光器与DFB激光器功能概述、管脚定义、功能比较
  • 基于STM32的温湿度光照强度仿真设计(Proteus仿真+程序设计+设计报告+讲解视频)
  • 使用Scrapy构建高效网络爬虫:从入门到数据导出全流程
  • 互联网与无线广播:数字时代与模拟时代的通讯双轨制-优雅草卓伊凡
  • 【iOS】 分类 拓展 关联对象
  • Dify框架面试内容整理-Dify部署后常见问题有哪些?如何排查?
  • 【SQL触发器、事务、锁的概念和应用】
  • 基于SpringBoot + HTML 的宠物医院预约管理
  • LeetCode 1128 等价多米诺骨牌对的数量 题解
  • pip安装包时网络不畅,替换国内PyPI镜像源
  • Java 集合线程安全
  • Linux | 了解Linux中的任务调度---at与crontab 命令
  • LLM论文笔记 28: Universal length generalization with Turing Programs
  • RabbitMQ入门基础
  • 250504_VsCode使用
  • 14.Excel:排序和筛选
  • 【PINN】DeepXDE学习训练营(13)——operator-antiderivative_aligned.py
  • 汇编常用语法
  • node核心学习
  • IBM DB2 两地三中心方案与配置
  • shell编程补充内容(Linux课程实验3)
  • 【SpringAI+阿里云百炼】AI对话4个Demo
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.3 异常值识别(Z-score法/IQR法/业务规则法)
  • 力扣每日一题1007、行相等的最少多米诺旋转
  • 爬虫管理平台-最新版本发布