9-12条件判读
9、单分支结构 if 语句
一个 if 语句包含有五个要素:
① 关键词"if";
② "条件";
③ 英文冒号":";
④ 缩进;
⑤ 代码块
第一个注意点是关键词 if 后有个空格,
第二个注意点是条件后面的冒号必须是英文冒号,
第三个注意点是缩进,
一个缩进是四个空格或一个 Tab 键,
代码块前一定要加缩进,
第四个注意点是代码块,
它的意思是一组代码内容。
【代码练习】
【代码练习】
"如果 Python 技能达到 90 分以上就写进简历,
否则暂不能写进简历中"。
使用 if...else... 语句,【如果…就…;否则就….】.
第一行,input() 获取终端输入的值,
由于数据类型是字符串,
需要通过 int() 转换为整数。
先将 input() 输入的数据转换完数据类型,
后再赋给变量 point;
第二行,if 的条件是 "point>= 90",
如果 point 的值大于或等于 90 ,
就会执行 if 语句的代码块,
即第 3 行的打印语句;
如果 point 的值不满足 if 语句的条件,
程序就会选择 else 语句的代码块,
即执行第 5 行的打印语句;
这里 else 语句实现的是
【如果…就…;否则…】中【否则…】的功能。
else 语句在语法上需要
① 关键词"else";
② 英文冒号":";
③ 缩进;
④ 代码块。
上方相同缩进的其他条件判断语句都不符合时,
才会执行 else 语句,
所以 else 语句是不需要写条件的,
且在一个条件判断语句内,
需要与有相同缩进的 if 语句连用。
【课堂练习】
1)提示一:先获取输入的年龄值,并存在变量 age 里;
2)提示二:接着进行判断:
如果年龄大于 22,就打印"猜错了哦",
否则就打印"猜对啦";
如果报错,可能的原因是:
1)if 语句后要跟条件和"英文冒号:";
2)else 语句后只需跟"英文冒号:"
3)检查"缩进";
4)输入括号时要切换至英文输入法。
10、多分支结构 if...elif...else... 语句
条件判断语句里除了 if 和 else 语句外,
还有一个 elif 语句,是 else if 的缩写。
必须与 if 连用,
实现分支判断【如果… 就…;如果… 就…】;
第 1 行,input() 得到的是一个字符串,
通过 int() 转换数据类型后,再赋值给变量point;
第 2 行,if 语句的条件是 "point >= 90",
即如果 point 的值大于或等于 90 的时候,
就执行第 3 行的打印语句;
如果输入的数据不满足 if 语句的条件,
程序就会跑到第 4 行与 elif 语句的条件进行判断,
如果 point 的值大于等于 60,
执行第 5 行的打印语句。
elif 语句的语法格式跟 if 语句类似,
只需要将关键词换为 elif。
但有个地方要注意的是,
elif 语句需要与同缩进的 if 语句对齐连用,
不能单独使用。
如图所示,
我们要用条件判断语句来实现这个功能,
第一步需要判断我们在终端获取的技能名是什么,
如技能名为 Python 或吉他。
再进一步判断这项技能的分数是否满足写进简历的标准。
这种在外层条件满足的前提下,
再增加额外的判断的过程,
就是条件判断嵌套。
如果我们输入"Python",
再输入60,程序最后会打印出来什么?
11.1 条件判断嵌套的执行流程
首先,我们可以把原代码进行概括,来看下图:
这里代码块①②的四条语句
相对于外层条件判断语句有同样的缩进,
所以他们是一个代码块。
而这里的代码块①②的内容刚好是条件判断语句,
我们可以先不看代码块内的这些条件判断语句。
先看外层的条件判断语句。
我们输入 "Python" 赋给变量 skill ,
再输入 60 赋给变量 score 后,
程序会在外层的条件判断语句进行判断,
刚好满足 if 语句的条件 skill =='Python',
程序将来到代码块 ① 内。
进入代码块 ① 内,
我们可以看到是一个 if 语句,
此时它的条件是用 score 与 90 做比较。
而我们上方对 score 赋的值为 60,
不符合 if 语句的条件,
所以程序执行 else 语句下的打印语句,
最终打印出"Python 暂不可以写入简历"。
现在可以理解条件判断嵌套的执行流程了嘛?
其实不难,只要我们先把代码块的内容看做一个整体,
先从外层下手,再一步步往内层走就行了。
11.2 条件判断嵌套的写法
条件判断嵌套该怎么写呢?
我们还是拿上面的案例来分析,
跟执行流程一样,
我们依旧先把代码概括成下面的形式。
条件判断嵌套的写法先从外层的条件判断语句下手,
代码块可以先只写简单的打印语句。
比如我们先预设外层 if 语句的条件符合时,
打印"不可以写进简历";
elif 语句的条件符合时,打印"可以写进简历"。
这时我们再将代码块的逻辑修改成我们想要的逻辑,
如 Python 写进简历,
需要分数达到 90 分以上,否则不能写进简历。
那么我们可以将 skill == 'Python' 条件下的打印语句替换为条件判断语句。
试着自己完成吉他部分的代码吧。
12、【实操练习】:条件判断
1、计算员工年休假天数
小林是闪光科技的一名 HR,
每当有新员工入职,
总会被问到年休假如何计算。
不仅要询问他们的累计工作年限,
还要查询《职工带薪年休假条例》才能知道年休假天数,
有没有更加便捷的方法呢?
题目要求
请你编写一段代码,
新入职员工输入自己的累计工作年限
(1 年以下填写 0,1 年及以上取整数) ,
即可得到自己的年休假天数。
《职工带薪年休假条例》规定:
员工累计工作满 1 年不满 10 年的,年休假 5 天;
已满 10 年不满 20 年的,年休假 10 天;
已满 20 年的,年休假 15 天。
此外,员工累计工作不满 1 年,没有年休假。
2、判断高中生体质情况
高中生体测时,身高、体重是必测项目。
根据这两个数值求得的 BMI 指数,
可以衡量一个人的胖瘦程度。
其中,男生和女生的 BMI 指数有不同的划分范围,详见下图。
小贴士:
17.3 - 23.9 的范围可以理解为 17.3 <= BMI < 23.9。
题目要求
请你编写一段代码,
输入学生的性别、身高、体重,
即可得到其体质情况(偏瘦、正常、超重、肥胖)。
给你一点点提示:
1)变量名建议:
性别——gender,
身高——height,
体重——weight,
BMI 指数——bmi;
全部0条评论
快来发表一下你的评论吧 !