条件语句一二三
条件运算符
- 定义:又称三元运算符,两个语句之间用if -else,if后面的条件表达式是没有**:,有:**的是条件控制语句
- 执行流程:先对条件表达式进行求值判断,如果判断结果为True会直接执行语句一,如果为False则执行语句二
- 举例说明
- print(‘python’) if True else print(‘java’) -结果为python
- print(‘python’) if False else print(‘java’) -结果为java
运算符的优先级
- 运算符之间有一定的规则,如a=2 or 3 and 4 ->print(a) ->结果为2
- 推理过程为:如or比and优先级高,2 or 3 ->2, 2 and 4 ->4;如or比and优先级一样,结果相同,2 or 3 ->2, 2 and 4 ->4;如or比and优先级低,3 and 4 ->4,2 or 4 ->2;由此证明and 比or的优先级高,优先级如下图由下至上,下面的优先级更高;如果是同级别,从左到右依次运算
条件控制语句(if)
- 执行流程
- if语句执行时,会先从条件表达式进行求值判断
- 如果为True,则执行if后的语句
- 如果为False,则不执行 - 语法为:
- 运行机制:默认情况下,if语句值控制紧跟其后的那条语句;如果希望if语句可控制多条语句,则在if后面紧跟一个代码块
- 代码块:就是一种代码的分组机制,代码块保存的一组代码,同一代码块里的代码要么都执行要么都不执行,代码块以缩进开始
- 实例说明:
**input()**函数
- 调用时程序会立即暂停,等待用户输入,输入完毕后,回车,程序台继续向下执行
- 举例:
- 常见问题:TypeError: ‘>=’ not supported between instances of ‘str’ and ‘int’-即字符串和整数不能做比较
if-else 语句
- 语法为:
- 执行流程:先对if条件表达式进行求值判断如为True则执行,如为False则执行else后的代码块
- 举例:注意类型
if-elif-else语句
- 执行流程:至上而下依次对条件表达式进行求值判断如果表达式为True,则执行当前代码块,如为False,继续往下进行求值判断直到为True为止,若都是False则执行else之后的代码块,if-elif-else语句只会有一个代码块执行
- 死代码:只要满足条件的表达式,整个程序就????了
- 举例如图:
if 语句练习
- 题目一:条件:狗的前两年,每一年相当于人类的10.5岁,每增加一岁就增加4岁,编写一个程序获取狗的年龄,然后通过程序判断人的年龄,如果用户输入一个负数,请提示一个错误信息
- 逻辑流程为:第一步狗的年龄定义为0岁开始,等于一个小数float(),用input()输入狗的年龄,用条件语句if-else表达狗和人之间年龄的运算,嵌套多一层if-else,最后提示错误信息
- 解题如图
while()语句
- 定义:可以是是指定的代码块重复指定的次数
- 语法:
- 循环三要素
- 初始化表达式:初始化的一个变量
- 条件表达式:用来设置循环执行的条件
- 更新条件表达式:修改初始化变量的值 - 执行流程:先对while后的条件表达式进行求值判断,如为True,则执行循环体,循环完毕,继续对循环体进行求值判断,直到判断记过为False,循环结束或者执行else语句
- 练习:求100以内的所有偶数之和,如图
作业
- 用条件运算符三个值当中最大值
- 用1000以内所有的水仙花数
- 获取用户输入的任意数,判断其是否是质数