Python零基础入门:条件、循环与流程控制

大家好!作为Python知识分享博主,今天我们继续Python入门系列教程。在前面的文章中,我们已经学习了Python的基本数据类型(字符串、列表、元组、字典),现在让我们来探索Python中控制程序流程的核心结构:条件语句和循环结构。

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

1. 基础if语句

条件语句让程序能够根据不同条件执行不同的代码块。

# 基本语法
age = 18
if age >= 18:
    print("您已成年")

2. if-else结构

age= 25
if age>=18:
    print("你已成年")
else:
    print("你未成年")

3. if-elif-else多重判断

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

4. 嵌套条件语句

num = 15
if num % 2 == 0:
    if num % 3 == 0:
        print("能被2和3整除")
    else:
        print("能被2整除")
else:
    if num % 3 == 0:
        print("能被3整除")
    else:
        print("不能被2或3整除")

5. 条件表达式(三元运算符)

# 传统写法
age = 20
if age >= 18:
    status = "成年"
else:
    status = "未成年"

# 三元运算符写法
status = "成年" if age >= 18 else "未成年"

二、循环结构

1. while循环

while循环在条件为真时重复执行代码块。

 基本while循环
count = 0
while count < 5:
    print(count)
    count += 1

2. for循环

for循环用于遍历序列(如列表、字符串等)中的元素。

# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 遍历字符串
for char in "Python":
    print(char)

# 使用range()函数
for i in range(5):      # 0到4
    print(i)

for i in range(2, 6):   # 2到5
    print(i)

for i in range(1, 10, 2):  # 1,3,5,7,9 (步长为2)
    print(i)

3. 循环控制语句

break - 终止循环
for num in range(10):
    if num == 5:
        break
    print(num)  # 输出0,1,2,3,4
continue - 跳过当前迭代
for num in range(5):
    if num == 2:
        continue
    print(num)  # 输出0,1,3,4
pass - 空语句(占位符)
for num in range(5):
    if num == 3:
        pass  # 什么也不做
    print(num)

4. 循环中的else子句

当循环正常完成(没有被break中断)时执行else块。

for num in range(3):
    print(num)
else:
    print("循环完成")  # 会执行

for num in range(3):
    if num == 1:
        break
    print(num)
else:
    print("循环完成")  # 不会执行

三、其他控制语句

1. 异常处理(try-except)

try:
    result = 10 / 0
except ZeroDivisionError:
    print("不能除以零")
except Exception as e:
    print(f"发生错误: {e}")
else:
    print("没有发生错误")
finally:
    print("无论如何都会执行")

2. with语句(上下文管理)

# 文件操作示例
with open("file.txt", "r") as file:
    content = file.read()
    print(content)
# 文件会自动关闭

四、综合应用示例

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

2. 统计文本词频

text = "Python is powerful and Python is easy to learn"
words = text.split()

word_count = {}
for word in words:
    word = word.lower()
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1

print(word_count)

 

五、练习题

1. 条件语句练习

  1. 编写一个程序,判断用户输入的年份是否是闰年

  2. 实现一个简单的计算器,支持加减乘除运算

2. 循环练习

  1. 打印九九乘法表

  2. 找出100以内的所有质数

  3. 实现斐波那契数列前20项

3. 综合练习

  1. 开发一个简单的学生成绩管理系统:

    • 添加学生成绩

    • 查询学生成绩

    • 统计班级平均分

    • 找出最高分和最低分

六、总结与思考

1. 关键点总结

  • 条件语句:让程序根据不同条件执行不同代码

  • 循环结构:重复执行特定代码块

    • while循环:条件为真时循环

    • for循环:遍历序列中的元素

  • 控制语句breakcontinuepass改变循环行为

  • 异常处理try-except处理运行时错误

2. 性能与最佳实践

  • 避免无限循环(确保while循环有终止条件)

  • 优先使用for循环遍历序列

  • 合理使用列表推导式简化循环代码

  • 适当使用异常处理增强程序健壮性

下期预告:我们将深入探讨Python函数的定义与使用,这是实现代码复用和模块化编程的基础。敬请期待!

如果您在学习过程中遇到任何问题,或者有特别想了解的内容,欢迎在评论区留言。也欢迎大家分享自己的代码实现和学习心得!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不爱说话的分院帽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值