Python速成系列二

发布于:2025-08-08 ⋅ 阅读:(26) ⋅ 点赞:(0)

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 = True

if 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,4
    print(i)

# range(start, stop) - 生成start到stop-1的整数序列
for i in range(2, 5):  # 2,3,4
    print(i)

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

3. 循环控制语句

break - 终止整个循环
for i in range(10):
    if i == 5:
        break
    print(i)  # 输出0,1,2,3,4
continue - 跳过当前迭代
for i in range(10):
    if i % 2 == 0:
        continue
    print(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:
        break
    print(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":
        break
    print(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":
        break
    else:
        print("无效输入,请重新选择")
  1. 数字猜谜游戏
import random

target = random.randint(1, 100)
attempts = 0

while True:
    guess = int(input("猜一个1-100的数字:"))
    attempts += 1
    
    if 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

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


网站公告

今日签到

点亮在社区的每一天
去签到