课时45:if练习_2
摘要:本文围绕Python`if`语句展开两个练习的详细讲解。第一个练习是根据小明的期末成绩给予不同奖励,在实现基本功能后,分析了输入不合法分数的问题,并通过条件检查和`if`语句嵌套解决,同时添加友提示;第二个练习是根据身高、财富、颜值三个条件判断女方是否嫁,实现逻辑判断后提醒不能以此标准找对象。最后强调练习要认真做、多做几遍并写注释,为后续学习循环语句做铺垫。
1.练习四:根据期末成绩给予奖励
2.练习五:根据条件判断婚嫁情况
3.练习总结与后续预告
01、 练习四:根据期末成绩给予奖励
1.1 基本功能实现
接下来继续完成`if`语句的练习,先看练习四。此练习要求从键盘输入小明的期末成绩,根据成绩给予不同奖励:成绩为100时奖励一辆宝马汽车;成绩在80-99时奖励一台苹果手机;成绩在60-79时奖励一本参考书;其他情况无奖励。
实现代码如下:
#获取小明成绩 score=float(input("请输入你的期末成绩:")) #判断发给的奖励 if score==100: print("宝马拿去玩") elif score>=80: print("苹果手机拿去玩") elifscore>=60: print("参考书拿去玩") else: print("棍子一根") ``` 为了让输出结果更清晰,可添加分割线: ```python print("="*40)
运行代码,输入不同成绩可得到相应奖励提示。
1.2 处理输入不合法问题
然而,上述代码也有问题没有考虑到。当输入的成绩超出0-100的范围时,程序仍会给出奖励提示,这显然不符合实际情况。为解决该问题,我们需要对用户输入的成绩进行合法性检查。
修改后的代码如下:
score=float(input("请输入你的期末成绩(成绩范围是0-100):")) #检查用户的输入是否合法 if 0<=score<=100: #判断发给的奖励 if score==100: print("宝马拿去玩") elif score>=80: print("苹果手机拿去玩") elif score>=60: print("参考书拿去玩") else: print("棍子一根") else: #用户输入的不合法,弹出一个友提示 print("你输入的内容不合法,拉出去毙了")
这里利用了`if`语句的嵌套,先检查成绩是否在合法范围内,若合法再进行奖励判断;若不合法,则给出友提示。
02、 练习五:根据条件判断婚嫁情况
2.1 数据获取与判断逻辑
练习五是一个比较现实的问题,女方家长嫁女儿会提出身高、财富、颜值三个条件。身高要求1米8以上,财富要求1000万以上,颜值要求500以上。若三个条件同时满足,我一定要嫁给他;若有一个条件满足,嫁吧,比上不足,比下有余;若三个条件都不满足,则不嫁。
实现代码如下:
获取用户的三个数据,身高、财富、颜值 height=float(input("请输入你的身高(厘米):")) money=float(input("请输入你的财富(万):")) face=float(input("请输入你的颜值(平方厘米):")) print(height,money,face) 判断到底嫁不嫁 如果这三个条件同时满足,则:我一定要嫁给他 if height>180andmoney>1000andface>500: print("我一定要嫁给他") 如果有一个条件满足,嫁吧,比上不足,比下有余 elif height>180 or money>1000 or face>500: print("嫁比上不足,比下有余") 若三个条件都不满足,则不嫁 else: print("不嫁")
通过上述代码,先获取用户输入的三个数据,然后根据条件进行判断并输出结果。
需要注意的是,这个程序只是一个简单的示例,在现实生活中不能以此标准去找对象。例如输入身高3米、财富2000万、颜值1000平方厘米,程序会判断“一定要嫁”;输入身高5米、财富1万、颜值1平方厘米,程序会判断“嫁比上不足,比下有余”;输入身高180厘米、财富1000万、颜值500平方厘米,程序会判断“不嫁”,但这些判断结果在现实中并不合理。大家自己注意一下哈。
至此,`if`语句的几个练习都已讲解完毕。这些练习并不难,是我们第一次用程序实现一些功能。希望大家认真完成练习,多做几遍,在该写注释的地方一定要写注释。接下来,我们将进入下一个话题——循环语句的学习。