Python If Else
在编程中,我们经常需要根据不同条件执行不同的代码。Python 提供了条件语句来实现这一功能,其中最基础的就是 if-else
语句。这些语句允许程序根据条件的真假来选择执行不同的代码块。
条件语句的基础
if 语句
if
语句是最基本的条件语句,语法如下:
python
if 条件:
# 当条件为真时执行的代码
当条件评估为 True
时,缩进的代码块将被执行;否则,这些代码将被跳过。
示例:
python
age = 18
if age >= 18:
print("你已经是成年人了!")
# 输出:你已经是成年人了!
if-else 语句
如果你希望在条件为假时执行另一段代码,可以使用 else
子句:
python
if 条件:
# 当条件为真时执行的代码
else:
# 当条件为假时执行的代码
示例:
python
age = 16
if age >= 18:
print("你已经是成年人了!")
else:
print("你还未成年。")
# 输出:你还未成年。
if-elif-else 语句
当需要测试多个条件时,可以使用 elif
(即"else if"的缩写):
python
if 条件1:
# 当条件1为真时执行的代码
elif 条件2:
# 当条件1为假且条件2为真时执行的代码
else:
# 当所有条件都为假时执行的代码
示例:
python
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
# 输出:良好
条件表达式
比较运算符
Python 提供多种比较运算符用于条件测试:
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
示例:
python
a = 10
b = 20
print(a == b) # False
print(a != b) # True
print(a > b) # False
print(a < b) # True
print(a >= b) # False
print(a <= b) # True
逻辑运算符
Python 中的逻辑运算符用于组合多个条件:
运算符 | 描述 |
---|---|
and | 逻辑与 - 如果两个条件都为真,则返回 True |
or | 逻辑或 - 如果至少有一个条件为真,则返回 True |
not | 逻辑非 - 反转条件的结果 |
示例:
python
age = 25
income = 30000
if age > 18 and income > 25000:
print("您有资格申请贷款。")
# 输出:您有资格申请贷款。
is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("今天不用上班!")
# 输出:今天不用上班!
is_working_day = not (is_weekend or is_holiday)
print(f"今天是工作日: {is_working_day}")
# 输出:今天是工作日: False
嵌套条件语句
条件语句可以嵌套使用,即在一个条件语句内部再使用另一个条件语句:
python
age = 20
has_id = True
if age >= 18:
if has_id:
print("您可以购买酒精饮料。")
else:
print("您需要出示身份证明。")
else:
print("您未达到法定年龄,不能购买酒精饮料。")
# 输出:您可以购买酒精饮料。
备注
虽然嵌套条件语句有时是必要的,但过度嵌套会使代码难以阅读和维护。在可能的情况下,应考虑使用逻辑运算符来简化嵌套条件。
条件表达式(三元运算符)
Python 支持条件表达式(也称为三元运算符),这是一种更简洁的 if-else 语句写法:
python
结果 = 值1 if 条件 else 值2
当条件为真时,表达式的值为值1;否则为值2。
示例:
python
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)
# 输出:成年
实际应用案例
案例 1:登录验证
python
username = input("请输入用户名: ")
password = input("请输入密码: ")
correct_username = "admin"
correct_password = "password123"
if username == correct_username and password == correct_password:
print("登录成功!")
elif username == correct_username:
print("密码错误!")
else:
print("用户名不存在!")
# 输入: admin
# 输入: password123
# 输出: 登录成功!
案例 2:电影票价计算
python
age = int(input("请输入您的年龄: "))
day = input("今天是周几?(1-7): ")
price = 10.0 # 基础票价
# 年龄折扣
if age < 3:
price = 0.0
elif age <= 12:
price *= 0.5
elif age >= 65:
price *= 0.7
# 周二特惠
if day == "2":
price *= 0.8
print(f"您的票价是: ${price:.2f}")
# 输入: 70
# 输入: 2
# 输出: 您的票价是: $5.60
案例 3:简单计算器
python
num1 = float(input("请输入第一个数: "))
num2 = float(input("请输入第二个数: "))
operation = input("请输入运算符 (+, -, *, /): ")
if operation == "+":
result = num1 + num2
print(f"{num1} + {num2} = {result}")
elif operation == "-":
result = num1 - num2
print(f"{num1} - {num2} = {result}")
elif operation == "*":
result = num1 * num2
print(f"{num1} * {num2} = {result}")
elif operation == "/":
if num2 == 0:
print("错误:除数不能为零!")
else:
result = num1 / num2
print(f"{num1} / {num2} = {result}")
else:
print("不支持的运算符!")
# 输入: 10
# 输入: 5
# 输入: *
# 输出: 10.0 * 5.0 = 50.0
最佳实践
- 保持条件表达式简洁:过于复杂的条件应考虑拆分或使用辅助变量。
- 适当使用括号:在复杂的逻辑表达式中,使用括号可以明确优先级并提高可读性。
- 避免过深的嵌套:考虑使用逻辑运算符或提前返回来减少嵌套层次。
- 使用 in 运算符检查成员资格:如
if value in list
比多个or
条件更简洁。
提示
在条件判断中,任何非零数值、非空字符串、非空列表等都被视为 True
,而 0
、None
、空字符串 ""
、空列表 []
等则被视为 False
。
总结
条件语句是 Python 编程中的基础构建块,它们允许我们根据不同条件执行不同的代码。if-else
和 if-elif-else
结构提供了灵活的控制流方式,而条件表达式则提供了更简洁的语法。掌握这些概念对于编写任何有意义的 Python 程序都是必不可少的。
练习
- 编写一个程序,根据用户输入的分数(0-100)打印相应的等级(A, B, C, D, F)。
- 创建一个简单的猜数字游戏,用户输入一个数字,程序告诉用户是猜大了、猜小了还是猜对了。
- 编写一个函数,判断给定年份是否为闰年(提示:一般能被4整除的是闰年,但能被100整除而不能被400整除的不是闰年)。
- 实现一个程序,根据用户输入的三角形三边长度,判断是等边三角形、等腰三角形、直角三角形,还是一般三角形。
延伸阅读
- Python 官方文档 - if 语句
- Python 风格指南 (PEP 8) - 了解 Python 代码的编写规范
- Python 标准库 - operator 模块 - 提供了与内置运算符对应的函数
通过掌握 Python 的条件语句,你已经迈出了成为 Python 程序员的重要一步。继续练习并将这些知识应用到实际项目中,你的编程技能将会不断提高!