1. if语句基础
if语句用于条件判断,只有当条件为True时,才会执行相应的代码块。
基本语法
if 条件: # 如果条件为True,执行这里的代码 执行语句
示例
示例1:简单判断
age = 18 if age >= 18: print("您已成年")
示例2:比较运算
score = 85 if score >= 60: print("及格了!") print("恭喜通过考试")
重要:if语句后面的冒号(:)是必须的,表示代码块的开始。if内部的代码必须缩进(通常4个空格)。
2. if-else语句
if-else语句提供了两种可能:如果条件为True执行一个代码块,否则执行另一个代码块。
基本语法
if 条件: # 条件为True时执行 语句块1 else: # 条件为False时执行 语句块2
示例
判断奇偶数
num = 7 if num % 2 == 0: print(f"{num}是偶数") else: print(f"{num}是奇数")
登录验证
password = "123456" input_pwd = "123456" if input_pwd == password: print("登录成功!") else: print("密码错误,请重试")
动手试试
修改下面的代码,判断一个数是否是正数:
运行结果将显示在这里...
3. if-elif-else语句
当有多个条件需要判断时,可以使用if-elif-else语句。elif是"else if"的缩写。
基本语法
if 条件1: # 条件1为True时执行 语句块1 elif 条件2: # 条件2为True时执行 语句块2 elif 条件3: # 条件3为True时执行 语句块3 else: # 以上条件都不满足时执行 语句块4
示例:成绩评级
score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "F" print(f"分数:{score},等级:{grade}")
注意:if-elif-else语句中,只有一个代码块会被执行。一旦某个条件为True,执行对应的代码块后,就会跳过其余所有条件。
4. 嵌套if语句
在一个if语句内部可以包含另一个if语句,这称为嵌套if语句。
基本语法
if 条件1: # 条件1为True时执行 if 条件2: # 条件1和条件2都为True时执行 语句块1 else: # 条件1为True但条件2为False时执行 语句块2 else: # 条件1为False时执行 语句块3
示例:登录系统
username = "admin" password = "123456" input_user = "admin" input_pwd = "123456" if input_user == username: if input_pwd == password: print("登录成功!") else: print("密码错误") else: print("用户名不存在")
动手试试:闰年判断
判断一个年份是否是闰年:能被4整除但不能被100整除,或者能被400整除
运行结果将显示在这里...
5. 条件表达式(三元运算符)
Python提供了简洁的条件表达式语法,也称为三元运算符,用于简单的if-else判断。
基本语法
# 条件为True时返回value1,否则返回value2 变量 = value1 if 条件 else value2
示例
普通写法
num = 10 if num > 0: result = "正数" else: result = "非正数"
三元运算符写法
num = 10 result = "正数" if num > 0 else "非正数"
更多示例
# 求最大值 a, b = 5, 8 max_value = a if a > b else b print(f"最大值是:{max_value}") # 奇偶判断 num = 7 result = "奇数" if num % 2 == 1 else "偶数" print(f"{num}是{result}")
6. 逻辑运算符
逻辑运算符用于组合多个条件,Python中有三个逻辑运算符:and, or, not。
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
and |
与 - 两个条件都为True时返回True | x > 0 and x < 10 |
x在0和10之间时为True |
or |
或 - 至少一个条件为True时返回True | x < 0 or x > 10 |
x小于0或大于10时为True |
not |
非 - 反转条件的真假值 | not x > 0 |
x不大于0时为True |
示例
# and 运算符示例 age = 25 has_license = True if age >= 18 and has_license: print("可以开车") # or 运算符示例 is_weekend = False is_holiday = True if is_weekend or is_holiday: print("今天是休息日") # not 运算符示例 is_rainy = False if not is_rainy: print("天气晴朗,适合外出")
运算符优先级
# 运算符优先级:not > and > or # 使用括号可以改变优先级 a, b, c = True, False, True # 等价于 (a and b) or c result1 = a and b or c # 等价于 a and (b or c) result2 = a and (b or c) print(f"result1: {result1}, result2: {result2}")
7. 实战练习
通过以下练习巩固if语句的使用:
练习1:判断数字性质
编写一个程序,判断用户输入的数字是正数、负数还是零。
num = float(input("请输入一个数字: ")) if num > 0: print("正数") elif num < 0: print("负数") else: print("零")
练习2:计算BMI
根据身高和体重计算BMI,并给出健康建议:
过轻: BMI < 18.5
正常: 18.5 ≤ BMI < 24
过重: 24 ≤ BMI < 28
肥胖: BMI ≥ 28
height = float(input("请输入身高(米): ")) weight = float(input("请输入体重(公斤): ")) bmi = weight / (height ** 2) print(f"您的BMI是: {bmi:.2f}") if bmi < 18.5: print("体重过轻") elif bmi < 24: print("体重正常") elif bmi < 28: print("体重过重") else: print("肥胖")
练习3:三角形判断
输入三个边长,判断是否能构成三角形,以及三角形的类型(等边、等腰、普通)。
a = float(input("请输入第一条边: ")) b = float(input("请输入第二条边: ")) c = float(input("请输入第三条边: ")) if a + b > c and a + c > b and b + c > a: if a == b == c: print("等边三角形") elif a == b or a == c or b == c: print("等腰三角形") else: print("普通三角形") else: print("不能构成三角形")