第五章 if语句

整体内容: 如果......就.......。否则,就......。

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
#for循环 访问每一个列表中的元素 赋值给car
    if car == 'bmw':
    #如果car的值是bmw
        print(car.upper()) #输出元素的全大写形式
    else:
        #否则,输出第一个字母大写形式
        print(car.title())

5.2 条件测试

每一个if语句的核心都是一个表达式,比如car==‘bmw’,表达式只有两种结果,True或False。

这种表达式称为条件测试

if语句下有对应的代码操作,如果条件测试是True就执行对应代码,False就忽略这些代码。

5.2.1 检查是否相等

将一个变量的当前值与特定值进行比较,比如说car==‘bmw’。在for循环中只有当变量car的值循环遍历到bmw时,条件测试的结果为True,并执行对应if 下的代码。

一个等号,两个等号区别

一个等号,比如说car=‘audi’,这是将car变量的值设置为audi;

两个等号,表示发问,car==‘audi’ 对car变量值是否为audi进行发问。

5.2.2  是否相等的时候 区分大小写

比如说,audi和Audi,就是不同的。

代码中先设置car 为Audi,然后使用lower方法将car变量的值变成全部小写形式, 再跟audi比较,可以看到使用两个等号进行发问,python回复True,当我们再输出car变量元素的时候依旧是Audi没变。 也可以看出使用方法不会改变储存在变量中的值。

5.2.3 检查是否不等

使用的运算符:     !=  

requested_toppings = ['mushrooms', 'french fries', 'extra cheese']

if requested_toppings != 'aaaaaa':
    print("nonononono")

 5.2.4  数值比较

跟正常数学运算一样 

answer = 17

if answer != 42:
    #如果answer不是42 输出
    print("That is not the correct answer. Please try again!")

5.2.5 检查多个条件

1. 使用and检查多个条件

<think>好的,我需要回答用户关于第5章中程序流程控制使用if语句的内容。用户之前的问题提到了《王者荣耀》,但这次转向了Python程序设计,特别是流程控制中的if语句。我需要结合用户提供的引用内容,尤其是引用[1]、[2]、[3],这些内容讨论了条件语句、循环控制以及if...else的结构。 首先,用户的问题集中在第5章,但提供的引用来自第3章。这可能意味着用户有资料的结构差异,或者章节划分不同。我需要假设第5章可能深入讲解if语句的高级应用,或者结合其他流程控制结构。不过,根据现有引用,重点在if语句的基本结构、执行逻辑以及与其他结构(如循环)的结合。 引用[2]提到条件语句用于根据条件执行不同的代码块,如登录成功或失败的例子。引用[3]详细解释了if...elif...else的结构,从上到下判断,执行第一个为真的条件对应的代码块,之后跳出结构。同时,引用[1]提到循环中的else子句,当循环正常完成(未遇到break)时执行。这可能与if语句的else有相似之处,但应用场景不同。 用户可能希望了解if语句的语法、执行流程、嵌套使用,以及常见应用场景。需要结合这些引用中的例子,如用户登录验证,来说明if语句的实际应用。同时,可能需要比较不同条件结构的区别,比如多个if语句if...elif...else链的区别。 另外,用户之前的对话中,回答结构需要清晰,分步骤说明,确保正确性。需要确认Pythonif语句的正确语法,例如冒号、缩进,以及elif的使用。还要注意逻辑错误,比如条件覆盖不全或顺序问题。 可能还需要提到if语句在循环中的应用,比如在循环内部使用条件判断来控制流程,结合引用[1]中的循环控制语句。例如,在for或while循环中使用if来提前退出或跳过某些迭代。 最后,生成相关问题时要围绕if语句的扩展应用、常见错误、与其他结构的结合,以及实际案例。确保问题有助于用户深入理解和应用if语句。</think>### Python程序设计第5章:if语句与流程控制详解 --- #### 一、if语句的基本结构 if语句是**条件控制**的核心工具,用于根据条件判断执行不同的代码分支。其标准语法如下: ```python if 条件1: 代码块1 elif 条件2: # 可选 代码块2 else: # 可选 代码块3 ``` **执行逻辑**:从上至下依次判断条件,若某个条件为`True`,则执行对应代码块并**跳过后续所有分支**;若所有条件均不满足,则执行`else`代码块[^3]。 --- #### 二、关键特性解析 1. **条件表达式** - 条件可以是**比较运算**(如`x > 5`)、**逻辑运算**(如`a and b`)或**返回布尔值的函数** - 示例:用户登录验证 ```python username = input("用户名:") password = input("密码:") if username == "admin" and password == "123456": print("登录成功") else: print("用户名或密码错误") # 引用[2]的登录案例实现 ``` 2. **多分支结构(if-elif-else)** - 用于处理**多个互斥条件**,比多个独立`if`语句更高效 - 示例:成绩等级判定 ```python score = 85 if score >= 90: print("A") elif score >= 80: # 隐含score < 90的条件 print("B") elif score >= 70: print("C") else: print("D") ``` 3. **嵌套if语句** - 可实现**层级条件判断**,但需注意缩进层级 - 示例:闰年判断 ```python year = 2024 if year % 4 == 0: if year % 100 != 0 or year % 400 == 0: print("闰年") else: print("平年") else: print("平年") ``` --- #### 三、与其他流程控制的结合 1. **循环中的条件控制** - 在`while`/`for`循环中使用`if`实现**提前终止**(`break`)或**跳过当前迭代**(`continue`) - 示例:搜索第一个偶数 ```python numbers = [1, 3, 5, 8, 9] for num in numbers: if num % 2 == 0: print(f"找到偶数{num}") break # 引用[1]的break应用 else: # 循环未触发break时执行 print("未找到偶数") ``` 2. **与异常处理结合** - 通过`if`预判避免异常(对比`try-except`方案) - 示例:安全除法 ```python numerator = 10 denominator = 0 if denominator != 0: print(numerator / denominator) else: print("除数不能为0") ``` --- #### 四、常见问题与优化 1. **边界条件覆盖** - 需测试所有临界值(如`>=`与`>`的选择) - **错误案例**:`if 80 < score <= 90`可能遗漏`score=80`的情况 2. **布尔简化技巧** - 直接使用布尔类型返回值: ```python # 原始写法 if is_valid == True: ... # 优化后 if is_valid: ... ``` 3. **短路逻辑应用** - 利用`and`/`or`的短路特性简化代码: ```python # 传统写法 if x > 0: if y > 0: print("第一象限") # 简化写法 if x > 0 and y > 0: print("第一象限") ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值