一. 了解条件语句 假设一个场景:
同学们这个年龄去过网吧吗?
去网吧进门想要上网必须做的一件事是做什么?(考虑重点)
为什么要把身份证给工作人员?
是不是就是为了判断是否成年?
是不是如果成年可以上网?如果不成年则不允许上网?
其实这里所谓的判断就是条件语句,即条件成立执行某些代码,条件不成立则不执行这些代码 。
二. if 语法 2.1 语法 1 2 3 4 if 条件: 条件成立执行的代码1 条件成立执行的代码2 ......
三. 实例:上网 需求分析:如果用户年龄大于等于18岁,即成年,输出”已经成年,可以上网”。
3.1 简单版 1 2 3 4 5 age = 20 if age >= 18 : print ('已经成年,可以上网' )print ('系统关闭' )
3.2 进阶版 新增需求:用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出”您的年龄是’用户输入的年龄’,已经成年,可以上网”。
1 2 3 4 5 6 7 8 age = int (input ('请输入您的年龄:' ))if age >= 18 : print (f'您的年龄是{age} ,已经成年,可以上网' )print ('系统关闭' )
四. if…else… 作用:条件成立执行if下方的代码; 条件不成立执行else下方的代码。
思考:网吧上网的实例,如果成年,允许上网,如果不成年呢?是不是应该回复用户不能上网?
4.1 语法 1 2 3 4 5 6 7 8 if 条件: 条件成立执行的代码1 条件成立执行的代码2 ......else : 条件不成立执行的代码1 条件不成立执行的代码2 ......
4.2 实用版:网吧上网 1 2 3 4 5 6 7 8 age = int (input ('请输入您的年龄:' ))if age >= 18 : print (f'您的年龄是{age} ,已经成年,可以上网' )else : print (f'您的年龄是{age} ,未成年,请自行回家写作业' )print ('系统关闭' )
注意:如果条件成立执行了某些代码,那么其他的情况的代码将不会执行。
五、多重判断
思考:中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;如果年龄在18-60岁之间为合法工龄;大于60岁为法定退休年龄。
5.1 语法 1 2 3 4 5 6 7 8 9 10 11 if 条件1 : 条件1 成立执行的代码1 条件1 成立执行的代码2 ......elif 条件2 : 条件2 成立执行的代码1 条件2 成立执行的代码2 ...... ......else : 以上条件都不成立执行执行的代码
多重判断也可以和else配合使用。一般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。
5.2 实例:工龄判断 1 2 3 4 5 6 7 age = int (input ('请输入您的年龄:' ))if age < 18 : print (f'您的年龄是{age} ,童工一枚' )elif (age >= 18 ) and (age <= 60 ): print (f'您的年龄是{age} ,合法工龄' )elif age > 60 : print (f'您的年龄是{age} ,可以退休' )
拓展:age >= 18 and age <= 60
可以化简为18 <= age <= 60
。
六、if嵌套
思考:坐公交:如果有钱可以上车,没钱不能上车;上车后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?
6.1 语法 1 2 3 4 5 6 7 8 if 条件1 : 条件1 成立执行的代码 条件1 成立执行的代码 if 条件2 : 条件2 成立执行的代码 条件2 成立执行的代码
注意:条件2的if也是处于条件1成立执行的代码的缩进关系内部。
6.2 实例:坐公交 6.2.1 判断是否能上车 1 2 3 4 5 6 7 8 9 10 11 12 """ 1. 如果有钱,则可以上车 2. 上车后,如果有空座,可以坐下 上车后,如果没有空座,则站着等空座位 如果没钱,不能上车 """ money = 1 if money == 1 : print ('土豪,不差钱,顺利上车' )else : print ('没钱,不能上车,追着公交车跑' )
6.2.2 判断是否能坐下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 """ 1. 如果有钱,则可以上车 2. 上车后,如果有空座,可以坐下 上车后,如果没有空座,则站着等空座位 如果没钱,不能上车 """ money = 1 seat = 0 if money == 1 : print ('土豪,不差钱,顺利上车' ) if seat == 1 : print ('有空座,可以坐下' ) else : print ('没有空座,站等' )else : print ('没钱,不能上车,追着公交车跑' )
七. 应用:猜拳游戏 需求分析:
随机做法:
1. 导出random模块
2. random.randint(开始,结束)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 """ 提示:0-石头,1-剪刀,2-布 1. 出拳 玩家输入出拳 电脑随机出拳 2. 判断输赢 玩家获胜 平局 电脑获胜 """ import random computer = random.randint(0 , 2 )print (computer) player = int (input ('请出拳:0-石头,1-剪刀,2-布:' ))if (player == 0 and computer == 1 ) or (player == 1 and computer == 2 ) or (player == 2 and computer == 0 ): print ('玩家获胜' )elif player == computer: print ('平局' )else : print ('电脑获胜' )
八. 三目运算符 三目运算符也叫三元运算符。
语法如下:
快速体验:
1 2 3 4 5 a = 1 b = 2 c = a if a > b else bprint (c)
总结
1 2 3 4 if 条件: 条件成立执行的代码else : 条件不成立执行的代码
1 2 3 4 5 6 if 条件1 : 条件1 成立执行的代码elif 条件2 : 条件2 成立执行的代码else : 以上条件都不成立执行的代码
1 2 3 4 5 if 条件1 : 条件1 成立执行的代码 if 条件2 : 条件2 成立执行的代码 ....