Python基础(七):条件语句深入了解
创始人
2024-02-26 23:16:44
0

文章目录

条件语句深入了解

一、了解条件语句

二、if 语法

1、语法

2、快速体验

三、实例(上网)

1、简单版

2、进阶版

四、if...else... 

1、语法

2、实用版:网吧上网

五、多重判断

1、语法

2、实例:工龄判断

六、if嵌套

1、语法 

2、实例:坐公交

3、if嵌套执行流程

七、 应用:猜拳游戏

八、三目运算符

九、总结


条件语句深入了解

14天学习训练营导师课程:
杨鑫《Python 自学编程基础》
杨鑫《 Python 网络爬虫基础》
杨鑫《 Scrapy 爬虫框架实战和项目管理》

一、了解条件语句

假设⼀个场景:
  • 同学们这个年龄去过网吧吗?
  • 去网吧进门想要上网必须做的⼀件事是做什么?(考虑重点)
  • 为什么要把身份证给工作⼈员?
  • 是不是就是为了判断是否成年?
  • 是不是如果成年可以上网?如果不成年则不允许上网?
其实这⾥所谓的判断就是条件语句,既条件成立执行某些代码,条件不成立则不执行这些代码

二、if 语法

1、语法

if 条件:条件成⽴执⾏的代码1条件成⽴执⾏的代码2......

2、快速体验

if True:print('条件成⽴执⾏的代码1')print('条件成⽴执⾏的代码2')
# 下⽅的代码没有缩进到if语句块,所以和if条件⽆关
print('我是⽆论条件是否成⽴都要执⾏的代码')
执行结果如下:

三、实例(上网)

需求分析:如果用户年龄大于等于18岁,即成年,输出"已经成年,可以上网"。

1、简单版

age = 20
if age >= 18:print('已经成年,可以上⽹')
print('系统关闭')

执行结果: 

2、进阶版

新增需求:用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出"您的年龄是'用户输入的年龄',已经成年,可以上网"。
# input接受⽤户输⼊的数据是字符串类型,条件是age和整型18做判断,所以这⾥要int转换数据类型
age = int(input('请输⼊您的年龄:'))
if age >= 18:print(f'您的年龄是{age},已经成年,可以上⽹')
print('系统关闭')

执行结果:

四、if...else... 

作用:条件成立执⾏if下方的代码; 条件不成立执行else下方的代码。
思考:⽹吧上⽹的实例,如果成年,允许上⽹,如果不成年呢?是不是应该回复⽤户不能上⽹?

1、语法

if 条件:条件成⽴执⾏的代码1条件成⽴执⾏的代码2......
else:条件不成⽴执⾏的代码1条件不成⽴执⾏的代码2......

2、实用版:网吧上网

age = int(input('请输⼊您的年龄:'))
if age >= 18:print(f'您的年龄是{age},已经成年,可以上⽹')
else:print(f'您的年龄是{age},未成年,请⾃⾏回家写作业')
print('系统关闭')

执行结果:

注意:如果某些条件成立执行了相关的代码,那么其他的情况的代码解释器根本不会执行。

五、多重判断

思考:中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;如果年龄在18-60岁之间为合法⼯龄;大于60岁为法定退休年龄。

1、语法

if 条件1:条件1成⽴执⾏的代码1条件1成⽴执⾏的代码2......
elif 条件2:条件2成⽴执⾏的代码1条件2成⽴执⾏的代码2............
else:以上条件都不成⽴执⾏执⾏的代码
多重判断也可以和else配合使用。⼀般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。

2、实例:工龄判断

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嵌套

思考:坐公交:如果有钱可以上⻋,没钱不能上车;上车后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?

1、语法 

if 条件1:条件1成⽴执⾏的代码条件1成⽴执⾏的代码if 条件2:条件2成⽴执⾏的代码条件2成⽴执⾏的代码
注意:条件2的if也是出于条件1的缩进关系内部。

2、实例:坐公交

2.1、判断是否能上车
"""1. 如果有钱,则可以上⻋2. 上⻋后,如果有空座,可以坐上⻋后,如果没有空座,则站着等空座如果没钱,不能上⻋
"""
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱
money = 1
if money == 1:print('⼟豪,不差钱,顺利上⻋')
else:print('没钱,不能上⻋,追着公交⻋跑')

执行结果: 

2.2、判断是否能坐下 

"""1. 如果有钱,则可以上⻋2. 上⻋后,如果有空座,可以坐下,上⻋后,如果没有空座,则站着等空座位,如果没钱,不能上⻋
"""
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示没有空座
money = 1
seat = 0
if money == 1:print('⼟豪,不差钱,顺利上⻋')if seat == 1:print('有空座,可以坐下')else:print('没有空座,站等')
else:print('没钱,不能上⻋,追着公交⻋跑')

执行结果:

3、if嵌套执行流程

七、 应用:猜拳游戏

需求分析:

随机做法: 1)导出random模块
import 模块名

2)使用random模块中的随机整数功能

random.randint(开始,结束)
"""
提示:0-⽯头,1-剪⼑,2-布
1. 出拳玩家输⼊出拳电脑随机出拳
2. 判断输赢玩家获胜平局电脑获胜
"""
# 导⼊random模块
import random
# 计算电脑出拳的随机数字
computer = random.randint(0, 2)
print(computer)
player = int(input('请出拳:0-⽯头,1-剪⼑,2-布:'))
# 玩家胜利 p0:c1 或 p1:c2 或 p2:c0
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('电脑获胜')

执行结果:

八、三目运算符

三目运算符也叫三元运算符或三元表达式。 语法如下:
条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式 1
快速体验:
a = 1
b = 2
c = a if a > b else b
print(c)

执行结果:

九、总结

  • if语句语法
if 条件:条件成⽴执⾏的代码
  • if...else...
if 条件:条件成⽴执⾏的代码
else:条件不成⽴执⾏的代码
  • 多重判断
if 条件1:条件1成⽴执⾏的代码
elif 条件2:条件2成⽴执⾏的代码
else:以上条件都不成⽴执⾏的代码
  • if嵌套
if 条件1:条件1成⽴执⾏的代码if 条件2:条件2成⽴执⾏的代码....
  • 三目运算符
条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

相关内容

热门资讯

相亲闪婚后未办婚礼未同居,男子... 近日,湖南省汨罗市人民法院审理了一起婚约财产纠纷案件。 2024年4月初,王某与张某(女)通过某婚姻...
韩独检组下周将同时起诉尹锡悦夫... 据中国新闻网援引韩联社21日报道,负责调查韩国前总统尹锡悦夫人金建希弊案的独立检察组(独检组)将于下...
对毒品犯罪被告人适用死刑,应考... 如果您想第一时间收到我的更新,请点开文章标题下面的蓝色字体的“刑事专业律师何忠民”,再点击右上角,然...
一财社论:海南封关为制度型开放... 12月18日,海南自由贸易港正式启动封关运作。封关后,海南岛全岛将建成一个海关监管特殊区域,实施以“...
石家庄市住建局:制度筑基 科技... 石家庄发布(shijiazhuangfabu) 运营|石家庄广播电视台新媒体中心 来源|石家庄新闻 ...
长安汽车获国内首块L3级自动驾... 极目新闻记者 邓波 12月20日,国内首块L3级自动驾驶专用正式号牌“渝AD0001Z”在重庆诞生,...
祁阳卫健局回应“手术钻头遗留患... 近日,湖南祁阳市中医医院发生骨科手术钻头断裂遗留患者体内事件,引发公众关注。12月21日,南都N视频...
相亲闪婚后未办婚礼未同居,男子... 近日,湖南省汨罗市人民法院审理了一起婚约财产纠纷案件。 2024年4月初,王某与张某(女)通过某婚姻...
“手术钻头断裂遗留患者体内”,... 12月21日,湖南祁阳市卫生健康局发布情况通报: 近日,有媒体报道祁阳市中医医院发生骨科手术钻头断裂...
债务逾期13亿元!因借款合同纠... 12月21日晚间,万通发展(SH 600246)发布公告称,公司控股股东嘉华东方控股(集团)有限公司...