条件执行语句

浏览 868

课文

## 布尔表达式 布尔表达式只有两种结果,为 `True`(真)和 `False`(假)。 例如 ```python print(5 == 5) print(5 == 6) ``` ```output True False ``` 此时的 `True` 与 `Fasle` 同属于 `bool`(布尔)类型,可以使用 `type` 查看其类型。 ```python print(type(True)) print(type(5 == 6)) ``` ```output <class 'bool'> <class 'bool'> ``` 包括 `==` 在内有以下几种比较运算符。 ```python x == y # x 等于 y x != y # x 不等于 y x > y # x 大于 y x < y # x 小于 y x >= y # x 大于等于 y x <= y # x 小于等于 y x is y # x 与 y 是同一个对象 x is not y # x 与 y 不是同一个对象 ``` ## 逻辑运算 逻辑运算符有三个,分别是 `and`(与)、`or`(或)和 `not`(非)。 ```python x and y # x 和 y 必须都为 True 时结果为 True, 否则为 False x or y # x 或 y 存在任意一个为 True 则为 True, 否则为 False not x # x 为 True 则为 False, x 为 Flase 则为 True ``` ```python x > 2 and x < 5 # 当 x 大于2同时小于5时返回 True x % 2 == 0 or x % 3 == 0 # 当 x 能被2或被3整除时返回 True not (x > 2) # 当 x 不大于2时返回True ``` ## 条件执行 条件执行功能同时是一个程序的基本,比如机器人小明上街买菜, 你让他在西瓜低于 10 块钱时买入。 此时就需要一个条件执行语句。 ```python if price < 10: print('买入西瓜') ``` `if` 关键字后面的布尔表达式就被称为判断条件,我们的 `if` 判断条件语句以`:`(冒号)来结束。 下一行开始则为条件执行语句, 以缩进作为代码块的区分。 ![西瓜](https://i.loli.net/2020/09/13/YngqHa1FwGxvQbm.png) 当西瓜价格低于 10 块时买入,否则买西红柿可以这么写。 ```python if melon_price < 10: print('买入西瓜') else: print('买入西红柿') ``` 此时的 `else` 代表着 `if` 条件不成立的情况所执行的语句。 ![西瓜西红柿](https://i.loli.net/2020/09/13/wW7Sv1jmfpirxed.png) 你还可以执行多个判断,在西瓜价格低于 10 块钱时买入,否则在西红柿价格低于 5 块钱时买入,再不然回家睡觉。 ```python if melon_price < 10: print('买入西瓜') elif tomato_price < 5: print('买入西红柿') else: print('回家睡觉') ``` ![西瓜西红柿睡觉](https://i.loli.net/2020/09/13/Y7n1J8ERXsWDvti.png) 我们还可以在 if 语句中嵌套 if 语句, 比如小明机器人买了西红柿,想搭配着炖个猪肉或牛肉,哪个便宜炖哪个,那我们可以这么写。 ```python if melon_price < 10: print('买入西瓜') elif tomato_price < 5: print('买入西红柿') if beer_price < pork_price: print('回家炖西红柿牛肉') else: print('回家炖西红柿猪肉') else: print('回家睡觉') ```

实战

1.引导用户输入整数,判断其是`偶数`还是`奇数`。 2.同样是引导用户输入整数,判断其是否是`质数`。

解析

1.引导用户输入整数,判断其是`偶数`还是`奇数`。 ```python while True: inp = int(input('请输入整数:')) if inp % 2 == 0: print('你输入的是偶数') else: print('你输入的是质数') ``` ```output 请输入整数:3 你输入的是质数 请输入整数:4 你输入的是偶数 ``` 2.同样是引导用户输入整数,判断其是否是`质数`。 ```python while True: inp = int(input('请输入整数:')) for n in range(2, inp): if inp % n == 0: print('你输入的不是质数') break else: print('你输入的是质数') ``` ```output 请输入整数:2 你输入的是质数 请输入整数:4 你输入的不是质数 请输入整数:7 你输入的是质数 ```
点击查看

评论

登录参与讨论

心

04-14

回复

折纸为鹤

质数这个就是把所有小于 inp 的数都试着求一下余,如果能求余说明能整除,inp 就不是质数

@心

05-11

回复

wwd

以为不用循环能解决,结果标准答案还是用到循环啦

06-24

回复

共 2 条
  • 1
前往
  • 1