if单向判断:
stonenumber=6
#为宝石数量赋值
if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个
print('你拥有了毁灭宇宙的力量')
#结果:显示‘你拥有了毁灭宇宙的力量’的结果
输出:你拥有了毁灭宇宙的力量
所以,if语句的单向判断逻辑,我们可以这样归纳:
在这里,你可能注意到了一个细节:在条件判断代码中的冒号:后、下一行内容的前面,会空几个格,但这是为什么呢?
首先,在计算机的沟通语言中,空格的学名叫缩进,比如我们写文章都要空两个格,这就叫首行缩进。
对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。
此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。
这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令。
通俗点讲,我们可以把if当作一个黑社会大哥,冒号后的内容都是他的小弟,当老大if提出一个条件时,他组织下的小弟就会自动执行任务。
双向判断:if…else…
stonenumber=3
#赋值语句:为宝石数量赋值
if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个
print('你拥有了毁灭宇宙的力量')
#结果:显示‘你拥有带着卡魔拉去沃弥尔星寻找灵魂宝石了毁灭宇宙的力量’的结果
else:
#条件:当赋值不满足if条件时,执行else下的命令
print('带着卡魔拉去沃弥尔星寻找灵魂宝石')
#结果:显示‘去找灵魂宝石’的结果
输出:带着卡魔拉去沃弥尔星寻找灵魂宝石
多向判断:if…elif…else…
那么,在判断3个或3个以上的条件时,我们就需要借助Python中的多向判断命令:if…elif…else…。
这三者共同构成了多向判断的命令逻辑关系:如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
并且,当判断的条件超过3个时,中间的多个条件都可以使用elif。
stonenumber=5
#为宝石数量赋值
if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个
print('你拥有了毁灭宇宙的力量')
#结果:显示‘就拥有了毁灭宇宙的力量’的结果
elif 3<stonenumber<=5:
#条件:如果想让宝石数量停留在4至5个
print('红女巫需要亲手毁掉幻视额头上的心灵宝石')
else:
#条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量在3个以下
print('需要惊奇队长逆转未来')
#结果:显示‘需要惊奇队长逆转未来’的结果
输出:红女巫需要亲手毁掉幻视额头上的心灵宝石
if嵌套:
像这种如果底下还有如果、条件里还套条件的情况,我们如何用Python把上面的规则写出来,并得出评价呢?
答案就是——嵌套条件。
historyscore=26
if historyscore>=60:
print('你已经及格')
if historyscore>=80:
print('你很优秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('学渣')
else:
print('还能抢救一下')
print('程序结束')
输出:
不及格
学渣
程序结束
总结:
练习:
请你写出一段代码,判断美国队长的工资每月80美元属于什么水平。
其中判断工资水平的代码需要满足如下条件:
1.如果月工资小于等于500美元,显示“欢迎进入史塔克穷人帮前三名”
1.1如果月工资在100-500美元之间,显示“请找弗瑞队长加薪”
1.2如果月工资小于等于100美元,显示“恭喜您荣获“美元队长”称号!”
2.如果月工资在500-1000美元之间(含1000美元),打印“祝贺您至少可以温饱了。”
3.其他情况下,如果工资大于1000美元,打印“经济危机都难不倒您!”
3.1如果工资在1000-20000美元(含20000美元)之间,打印“您快比钢铁侠有钱了!”
3.2如果月工资大于20000美元,打印“您是不是来自于瓦坎达国?”
4.不管赋值改变后输出结果如何,都需固定打印“程序结束”
money=80
if money<=500:
print('欢迎进入史塔克穷人帮前三名')
if 100<money<500:
print('请找佛瑞队长加薪')
else:
print('恭喜你荣获美元队长称号')
elif 500<money<=1000:
print('祝贺你至少可以温饱了')
else:
print('经济危机都难不倒您!')
if 1000<money<=20000:
print('您快比钢铁侠有钱了!')
else:
print('你是不是来自瓦坎达国?')
print('程序结束')
输出:
欢迎进入史塔克穷人帮前三名
恭喜你荣获美元队长称号
程序结束