Python 魔法学院 - 第04篇:Python 控制流与运算符 ⭐
本篇教程将带你深入理解 运算符与表达式 以及 控制流程,通过 案例驱动 和 详细解释,让你轻松掌握 Python 编程的核心概念。从 加减乘除 到 条件判断,从 循环遍历 到 代码控制,你将逐步解锁 Python 的强大功能,为更复杂的编程任务打下坚实基础。快来加入 Python 魔法学院,开启你的编程冒险吧!
目录
1. 运算符与表达式
1.1 算术运算符
算术运算符用于执行基本的数学运算。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
+ |
加法 | 10 + 5 |
15 |
- |
减法 | 10 - 5 |
5 |
* |
乘法 | 10 * 5 |
50 |
/ |
除法 | 10 / 5 |
2.0 |
% |
取模 | 10 % 3 |
1 |
** |
幂运算 | 2 ** 3 |
8 |
// |
整除 | 10 // 3 |
3 |
示例代码
# 初始化变量
x = 10 # 内存地址: 0x1000, 值: 10
y = 3 # 内存地址: 0x1004, 值: 3
# 算术运算
print(x + y) # 解释: 10 + 3 = 13
print(x - y) # 解释: 10 - 3 = 7
print(x * y) # 解释: 10 * 3 = 30
print(x / y) # 解释: 10 / 3 = 3.333...
print(x % y) # 解释: 10 % 3 = 1
print(x ** y) # 解释: 10 ** 3 = 1000
print(x // y) # 解释: 10 // 3 = 3
实际应用:计算购物车总价
# 商品价格
price1 = 20
price2 = 15
price3 = 30
# 计算总价
total = price1 + price2 + price3
print(f"购物车总价: {total} 元") # 输出: 购物车总价: 65 元
小练习
-
计算
(15 + 7) * 2 - 10
并解释结果。result = (15 + 7) * 2 - 10 # 解释: (22) * 2 - 10 = 44 - 10 = 34 print(result) # 输出: 34
-
编写一个程序,计算用户输入的三个数的平均值。
num1 = float(input("请输入第一个数: ")) num2 = float(input("请输入第二个数: ")) num3 = float(input("请输入第三个数: ")) average = (num1 + num2 + num3) / 3 print(f"平均值是: {average}")
1.2 比较运算符
比较运算符用于比较两个值。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
== |
等于 | 10 == 5 |
False |
!= |
不等于 | 10 != 5 |
True |
> |
大于 | 10 > 5 |
True |
< |
小于 | 10 < 5 |
False |
>= |
大于等于 | 10 >= 5 |
True |
<= |
小于等于 | 10 <= 5 |
False |
示例代码
# 初始化变量
x = 10
y = 5
# 比较运算
print(x == y) # 解释: 10 == 5 → False
print(x != y) # 解释: 10 != 5 → True
print(x > y) # 解释: 10 > 5 → True
print(x < y) # 解释: 10 < 5 → False
print(x >= y) # 解释: 10 >= 5 → True
print(x <= y) # 解释: 10 <= 5 → False
实际应用:判断成绩是否及格
score = 85
if score >= 60:
print("成绩及格") # 输出: 成绩及格
else:
print("成绩不及格")
小练习
-
编写一个程序,判断用户输入的年份是否为闰年。
year = int(input("请输入年份: ")) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print(f"{year} 年是闰年") else: print(f"{year} 年不是闰年")
-
比较两个数的大小,输出较大的数。
num1 = float(input("请输入第一个数: ")) num2 = float(input("请输入第二个数: ")) if num1 > num2: print(f"较大的数是: {num1}") else: print(f"较大的数是: {num2}")
1.3 逻辑运算符
逻辑运算符用于组合多个条件。
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
and |
与 | True and False |
False |
or |
或 | True or False |
True |
not |
非 | not True |
False |
示例代码
# 初始化变量
a = True
b = False
# 逻辑运算
print(a and b) # 解释: True and False → False
print(a or b) # 解释: True or False → True
print(not a) # 解释: not True → False
实际应用:登录系统
username = "admin"
password = "123456"
input_username = input("请输入用户名: ")
input_password = input("请输入密码: ")
if input_username == username and input_password == password:
print("登录成功") # 输出: 登录成功
else:
print("用户名或密码错误")
小练习
-
编写一个程序,判断用户输入的年龄是否在 18 到 60 岁之间。
age = int(input("请输入年龄: ")) if 18 <= age <= 60: print("年龄在 18 到 60 岁之间") else: print("年龄不在 18 到 60 岁之间")
-
使用逻辑运算符判断一个数是否为偶数且大于 10。
num = int(input("请输入一个数: ")) if num % 2 == 0 and num > 10: print(f"{num} 是偶数且大于 10") else: print(f"{num} 不是偶数或小于等于 10")
1.4 赋值运算符
赋值运算符用于给变量赋值。
运算符 | 描述 | 示例 | 等价于 |
---|---|---|---|
= |
赋值 | x = 10 |
x = 10 |
+= |
加后赋值 | x += 5 |
x = x + 5 |
-= |
减后赋值 | x -= 5 |
x = x - 5 |
*= |
乘后赋值 | x *= 5 |
x = x * 5 |
/= |
除后赋值 | x /= 5 |
x = x / 5 |
%= |
取模后赋值 | x %= 5 |
x = x % 5 |
**= |
幂运算后赋值 | x **= 5 |
x = x ** 5 |
//= |
整除后赋值 | x //= 5 |
x = x // 5 |
示例代码
# 初始化变量
x = 10
# 赋值运算
x += 5 # 解释: x = x + 5 → x = 15
x -= 3 # 解释: x = x - 3 → x = 12
x *= 2 # 解释: x = x * 2 → x = 24
x /= 4 # 解释: x = x / 4 → x = 6.0
x %= 5 # 解释: x = x % 5 → x = 1.0
x **= 3 # 解释: x = x ** 3 → x = 1.0
x //= 2 # 解释: x = x // 2 → x = 0.0
实际应用:计数器
count = 0
count += 1 # 每次调用时计数器加 1
print(f"当前计数: {count}") # 输出: 当前计数: 1
小练习
-
编写一个程序,计算用户输入的数的平方并赋值给变量。
num = float(input("请输入一个数: ")) num **= 2 print(f"平方值是: {num}")
-
使用赋值运算符实现一个简单的累加器。
total = 0 for _ in range(5): num = float(input("请输入一个数: ")) total += num print(f"累加结果是: {total}")
2. 控制流程
2.1 条件语句 (if/else
)
条件语句用于根据条件执行不同的代码块。
示例代码
# 初始化变量
x = 10
# 条件判断
if x > 5:
print("x 大于 5") # 解释: 10 > 5 → True,执行此代码块
else:
print("x 小于等于 5")
流程图
开始
↓
[x = 10]
↓
判断 x > 5
↓
True → 输出 "x 大于 5"
↓
结束
实际应用:判断数字正负
num = float(input("请输入一个数: "))
if num > 0:
print("正数")
elif num < 0:
print("负数")
else:
print("零")
小练习
-
编写一个程序,判断用户输入的数是否为偶数。
num = int(input("请输入一个数: ")) if num % 2 == 0: print(f"{num} 是偶数") else: print(f"{num} 是奇数")
-
实现一个简单的登录系统,要求用户名和密码都正确才能登录。
username = "admin" password = "123456" input_username = input("请输入用户名: ") input_password = input("请输入密码: ") if input_username == username and input_password == password: print("登录成功") else: print("用户名或密码错误")
2.2 循环语句 (for
)
for
循环用于遍历序列。
示例代码
# for 循环
for i in range(5): # 解释: 生成序列 [0, 1, 2, 3, 4]
print(i) # 解释: 依次输出 0, 1, 2, 3, 4
流程图
开始
↓
[i = 0]
↓
判断 i < 5
↓
True → 输出 i → i += 1
↓
False → 结束
实际应用:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃{fruit}") # 输出: 我喜欢吃苹果, 我喜欢吃香蕉, 我喜欢吃橙子
小练习
-
使用
for
循环输出 1 到 10 的平方。for i in range(1, 11): print(i ** 2) # 输出: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100
-
遍历一个字符串,输出每个字符及其对应的 ASCII 码。
text = "Python" for char in text: print(f"字符: {char}, ASCII 码: {ord(char)}")
2.3 循环语句 (while
)
while
循环用于在条件为真时重复执行代码块。
示例代码
# 初始化变量
x = 0
# while 循环
while x < 5: # 解释: 0 < 5 → True
print(x) # 解释: 输出当前值 x
x += 1 # 解释: x = x + 1
流程图
开始
↓
[x = 0]
↓
判断 x < 5
↓
True → 输出 x → x += 1
↓
False → 结束
实际应用:猜数字游戏
import random
target = random.randint(1, 100)
guess = 0
while guess != target:
guess = int(input("猜一个数 (1-100): "))
if guess < target:
print("太小了!")
elif guess > target:
print("太大了!")
else:
print("恭喜你,猜对了!")
小练习
-
使用
while
循环计算 1 到 100 的和。total = 0 i = 1 while i <= 100: total += i i += 1 print(f"1 到 100 的和是: {total}")
-
实现一个简单的倒计时程序。
count = 10 while count >= 0: print(f"倒计时: {count}") count -= 1 print("时间到!")
3. 总结与练习
通过本篇教程,我们学习了 Python 的基础语法,包括 运算符与表达式 以及 控制流程。这些知识是 Python 编程的基石,掌握它们将为你后续的学习打下坚实的基础。
综合练习
-
编写一个程序,计算用户输入的三个数的最大值。
num1 = float(input("请输入第一个数: ")) num2 = float(input("请输入第二个数: ")) num3 = float(input("请输入第三个数: ")) max_num = max(num1, num2, num3) print(f"最大值是: {max_num}")
-
实现一个简单的计算器,支持加、减、乘、除运算。
def calculator(): operation = input("请选择操作 (+, -, *, /): ") num1 = float(input("请输入第一个数: ")) num2 = float(input("请输入第二个数: ")) if operation == '+': print(f"结果: {num1 + num2}") elif operation == '-': print(f"结果: {num1 - num2}") elif operation == '*': print(f"结果: {num1 * num2}") elif operation == '/': print(f"结果: {num1 / num2}") else: print("无效的操作") calculator()
-
使用循环语句输出斐波那契数列的前 10 项。
a, b = 0, 1 for _ in range(10): print(a, end=" ") a, b = b, a + b
4. 扩展阅读
恭喜你完成了 Python 魔法学院的第 4 篇教程! 你已经掌握了 Python 中的控制流与运算符,这是成为一名优秀 Python 开发者的重要一步。继续加油,期待在下一篇教程中与你再次相见!

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)