当前位置:首页>python>【一起学Python】第15天:条件控制语句

【一起学Python】第15天:条件控制语句

  • 2026-09-02 20:34:52
【一起学Python】第15天:条件控制语句
条件控制是编程中最基本的控制结构之一。
Python 使用 if、elif、else 关键字来实现条件判断,根据不同的条件执行不同的代码块。

Python 的条件控制特点:

  • 使用缩进来表示代码块(通常是 4 个空格)
  • 条件表达式后面需要加冒号 :
  • 不需要使用括号包裹条件(但可以使用)

if 语句

基本语法

if 条件表达式:    执行语句块

示例

# 示例 1:简单的 if 语句age = 18if age >= 18:    print("你已经成年了!")# 示例 2:多行代码块score = 85if score >= 60:    print("恭喜你通过考试!")    print(f"你的分数是:{score}")    print("继续加油!")# 示例 3:条件表达式可以是任何返回布尔值的表达式name = "Alice"if name:  # 非空字符串为 True    print(f"欢迎,{name}!")

if...else 语句

基本语法

if 条件表达式:    执行语句块1else:    执行语句块2

示例

# 示例 1:判断奇偶数number = 7if number % 2 == 0:    print(f"{number} 是偶数")else:    print(f"{number} 是奇数")# 示例 2:判断成绩是否及格score = 55if score >= 60:    print("及格")else:    print("不及格")# 示例 3:判断用户权限is_admin = Falseif is_admin:    print("欢迎管理员!您拥有所有权限。")else:    print("欢迎普通用户!")

if...elif...else 语句

基本语法

if 条件表达式1:    执行语句块1elif 条件表达式2:    执行语句块2elif 条件表达式3:    执行语句块3else:    执行语句块4

示例

# 示例 1:成绩等级判断score = 85if score >= 90:    grade = "A"elif score >= 80:    grade = "B"elif score >= 70:    grade = "C"elif score >= 60:    grade = "D"else:    grade = "F"print(f"你的成绩等级是:{grade}")# 示例 2:季节判断month = 3if month in [12, 1, 2]:    season = "冬季"elif month in [3, 4, 5]:    season = "春季"elif month in [6, 7, 8]:    season = "夏季"elif month in [9, 10, 11]:    season = "秋季"else:    season = "无效月份"print(f"{month}月是{season}")# 示例 3:多条件判断age = 25has_license = Trueif age < 18:    print("未成年,不能考驾照")elif age >= 18 and not has_license:    print("已成年,可以去考驾照")elif age >= 18 and has_license:    print("已有驾照,可以开车")else:    print("其他情况")

嵌套条件语句

条件语句可以嵌套使用,即在一个条件语句内部再使用另一个条件语句。

示例

# 示例 1:嵌套 if 语句age = 20has_ticket = Trueif age >= 18:    if has_ticket:        print("可以进入电影院观看电影")    else:        print("请先购买电影票")else:    print("未成年人需要家长陪同")# 示例 2:复杂的嵌套判断score = 85attendance = 95if score >= 60:    print("笔试通过")    if attendance >= 80:        print("出勤率达标")        if score >= 90 and attendance >= 90:            print("获得优秀学生称号")        else:            print("表现良好")    else:        print("出勤率不达标,需要改进")else:    print("笔试未通过,需要补考")

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

Python 支持简洁的条件表达式,也称为三元运算符。

基本语法

变量 = 值1 if 条件 else 值2

示例

# 示例 1:简单的三元运算age = 20status = "成年人" if age >= 18 else "未成年人"print(status)  # 输出:成年人# 示例 2:求两个数的最大值a, b = 10, 20max_value = a if a > b else bprint(f"最大值是:{max_value}")# 示例 3:判断奇偶number = 7result = "偶数" if number % 2 == 0 else "奇数"print(f"{number} 是{result}")# 示例 4:嵌套三元运算(不推荐,可读性差)score = 85grade = "A" if score >= 90 else ("B" if score >= 80 else "C")print(f"等级:{grade}")

实战案例

案例 1:用户登录系统

# 模拟用户登录username = "admin"password = "123456"input_user = input("请输入用户名:")input_pwd = input("请输入密码:")if input_user == username:    if input_pwd == password:        print("登录成功!欢迎回来!")    else:        print("密码错误,请重试。")else:    print("用户名不存在。")

案例 2:BMI 计算器

# BMI 身体质量指数计算weight = float(input("请输入您的体重(kg):"))height = float(input("请输入您的身高(m):"))bmi = weight / (height ** 2)print(f"您的 BMI 指数是:{bmi:.2f}")if bmi < 18.5:    print("体重过轻")elif 18.5 <= bmi < 24:    print("体重正常")elif 24 <= bmi < 28:    print("体重过重")elif 28 <= bmi < 32:    print("肥胖")else:    print("严重肥胖")

案例 3:简单计算器

# 简单计算器num1 = float(input("请输入第一个数字:"))operator = input("请输入运算符(+、-、*、/):")num2 = float(input("请输入第二个数字:"))if operator == "+":    result = num1 + num2    print(f"{num1} + {num2} = {result}")elif operator == "-":    result = num1 - num2    print(f"{num1} - {num2} = {result}")elif operator == "*":    result = num1 * num2    print(f"{num1} * {num2} = {result}")elif operator == "/":    if num2 != 0:        result = num1 / num2        print(f"{num1} / {num2} = {result}")    else:        print("错误:除数不能为零!")else:    print("无效的运算符!")

案例 4:年份判断(闰年)

# 判断闰年year = int(input("请输入年份:"))if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):    print(f"{year} 是闰年")else:    print(f"{year} 不是闰年")

注意事项

  1. 缩进很重要:Python 使用缩进来区分代码块,缩进错误会导致语法错误。

  2. 条件表达式的值:

    • 数字 0、空字符串 ""、空列表 []、空字典 {}、None 等都被视为 False
    • 非零数字、非空字符串、非空容器等被视为 True
  3. 比较运算符:

    • ==   :等于
    • !=   :不等于
    • >    :大于
    • <    :小于
    • >=   :大于等于
    • <=   :小于等于
  4. 逻辑运算符:

    • and  :与(两个条件都为真)
    • or   :或(至少一个条件为真)
    • not  :非(取反)
  5. 成员运算符:

    • in   :在序列中
    • not in  :不在序列中

最新文章

随机文章