python基础 条件判断 if嵌套

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('程序结束')

输出:

欢迎进入史塔克穷人帮前三名
恭喜你荣获美元队长称号
程序结束

猜你喜欢

转载自www.cnblogs.com/laoliu07/p/10653815.html
今日推荐