跳到主要内容

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 条件 else2

当条件为真时,表达式的值为值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

最佳实践

  1. 保持条件表达式简洁:过于复杂的条件应考虑拆分或使用辅助变量。
  2. 适当使用括号:在复杂的逻辑表达式中,使用括号可以明确优先级并提高可读性。
  3. 避免过深的嵌套:考虑使用逻辑运算符或提前返回来减少嵌套层次。
  4. 使用 in 运算符检查成员资格:如 if value in list 比多个 or 条件更简洁。
提示

在条件判断中,任何非零数值、非空字符串、非空列表等都被视为 True,而 0None、空字符串 ""、空列表 [] 等则被视为 False

总结

条件语句是 Python 编程中的基础构建块,它们允许我们根据不同条件执行不同的代码。if-elseif-elif-else 结构提供了灵活的控制流方式,而条件表达式则提供了更简洁的语法。掌握这些概念对于编写任何有意义的 Python 程序都是必不可少的。

练习

  1. 编写一个程序,根据用户输入的分数(0-100)打印相应的等级(A, B, C, D, F)。
  2. 创建一个简单的猜数字游戏,用户输入一个数字,程序告诉用户是猜大了、猜小了还是猜对了。
  3. 编写一个函数,判断给定年份是否为闰年(提示:一般能被4整除的是闰年,但能被100整除而不能被400整除的不是闰年)。
  4. 实现一个程序,根据用户输入的三角形三边长度,判断是等边三角形、等腰三角形、直角三角形,还是一般三角形。

延伸阅读

通过掌握 Python 的条件语句,你已经迈出了成为 Python 程序员的重要一步。继续练习并将这些知识应用到实际项目中,你的编程技能将会不断提高!