第2关-条件判断与条件嵌套

Posted yiyezhiqiu1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第2关-条件判断与条件嵌套相关的知识,希望对你有一定的参考价值。

------------恢复内容开始------------

第2关-条件判断与条件嵌套

一、条件判断

条件判断:计算机沟通的逻辑——条件判断

作用:明确地让计算机知道:在什么条件下,该去做什么。

范例:《复仇者联盟3:无限宝石》

 1 import time
 2 
 3 print(如果你想拥有无限的力量和能量,那必须夺得力量宝石)
 4 
 5 time.sleep(2)
 6 
 7 print(如果你想扭曲时空和任意地传送,那必须夺得空间宝石)
 8 
 9 time.sleep(2)
10 
11 print(如果你想任意地修改现实,无视任何宇宙规律,那必须夺得现实宝石)
12 
13 time.sleep(2)
14 
15 print(如果你想到达任何一个时间点,无论是古老的年代还是遥远的未来,那必须夺得时间宝石)
16 
17 time.sleep(2)
18 
19 print(如果你想控制生者和死者的灵魂,那必须夺得灵魂宝石)
20 
21 time.sleep(2)
22 
23 print(如果你想拥有不朽的精神力量并操控任何人的思维,那必须夺得心灵宝石)
24 
25 time.sleep(2)
26 
27 print(那么,如果让你来选择的话,你想要获得哪颗宝石呢?)
28 
29 time.sleep(2)
30 
31 print(请在以下六个选项【1 力量宝石 ;2 空间宝石;3 现实宝石 ;4 时间宝石;5 灵魂宝石 ;6 心灵宝石;】中,选择你最想获得的宝石吧!)
32 
33 time.sleep(3)
34 
35 answer=input(请将对应数字输入在冒号后: )
36 
37 if answer==1:
38     print(我告诉你哦,力量宝石保存在山达尔星的新星军团的总部基地)
39     time.sleep(3)
40 
41 elif answer==2:
42     print(空间宝石在洛基手里)
43     time.sleep(3)
44 
45 elif answer==3:
46     print(雷击已将现实宝石交给收藏家保管)
47     time.sleep(3)
48 
49 elif answer==4:
50     print(奇异博士愿意用时间宝石换取钢铁侠的性命)
51     time.sleep(3)
52 
53 elif answer==5:
54     print(必须献祭自己心爱的人才能得到灵魂宝石)
55     time.sleep(3)
56 
57 else:
58     print(幻视头上的心灵宝石被绯红女巫摧毁,但可用时间宝石复原)
59     time.sleep(3)

1.单向判断:if

(1)范例

 1 # 为宝石数量赋值
 2 #用赋值运算符=对当前情况进行赋值:将你拥有的宝石个数6赋值给变量——宝石数stonenumber
 3 stonenumber=6
 4 
 5 # 条件:如果你拥有的宝石数量大于等于6个
 6 #确定if条件:如果变量stonenumber的值>=个数6时,就执行冒号后,下一行的命令。
 7 
 8 if stonenumber>=6:
 9     
10     #用print()命令打印出结果。
11     # 结果:显示‘你拥有了毁灭宇宙的力量’的结果
12     print(你拥有了毁灭宇宙的力量)   

 

1 # 为宝石数量赋值
2 stonenumber=2
3 
4 # 条件:如果你拥有的宝石数量大于等于6个
5 if stonenumber>=6:
6    
7     #第一行的赋值语句【stonenumber=2】是后面if条件判断语句的前提情况,然而并不满足『stonenumber>=6』这个条件,所以不会执行条件下的『print』操作。
8     print(你拥有了毁灭宇宙的力量) 
9 #计算机是一行行往下执行代码的。所以,当第一行赋值情况的前提不满足if的条件时,Python的逻辑就会判断:条件不满足,无法执行if条件下的命令,从而自动跳过,执行下一行命令。

 

 (2)缩进

对于Python而言,冒号和缩进是一种语法。它会帮助Python区分代码之间的层次,理解条件执行的逻辑及先后顺序。【注:缩进是四个空格或一个Tab键】

并且,在if条件语言中,缩进不需要我们手动按空格键。当你用英文输入法打:后按回车,我们的开发工具(用来编写Python代码的程序)为了方便大家编程,会自动实现下一行代码,向右缩进的功能。

此时,被缩进的内容(print()函数)和if条件语句组成了一个代码块(一个整体),成为了if条件下的内部命令。

这意味着:如果赋值满足if条件,计算机就会准确执行if条件内部的命令(即缩进的代码块)。

 

(3)知识点

if语句的单向判断逻辑:

技术图片

 

单向判断:if的代码逻辑及语法格式:

(1)范例

 1 # 为宝石数量赋值
 2 stonenumber=5
 3 
 4 # 条件:如果你拥有的宝石数量大于等于6个
 5 if stonenumber>=6:
 6     
 7     # 结果:显示‘就拥有了毁灭宇宙的力量’的结果
 8     print(你拥有了毁灭宇宙的力量)
 9     
10 # 条件:如果想让宝石数量停留在5个以下,至少一个
11 elif 0<stonenumber<=5:
12 
13     # 结果:显示‘绯红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
14     print(绯红女巫需要亲手毁掉幻视额头上的心灵宝石)
15 
16 # 条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量为0个
17 else:
18 
19     # 结果:显示‘需要惊奇队长逆转未来’的结果
20     print(需要惊奇队长逆转未来)

(2)知识点

技术图片

 

 

 技术图片

 

 

 

 二、if嵌套

1.范例

 1 historyscore=26
 2 
 3 if historyscore>=60:
 4     print(你已经及格)
 5 
 6     if historyscore>=80:
 7         print(你很优秀)
 8 
 9     else:
10         print(你只是一般般)
11 
12 else:
13     print(不及格)
14 
15     if historyscore<30:
16         print(学渣)
17 
18     else:
19         print(还能抢救一下)
20 
21 print(程序结束)

2.知识点

技术图片

技术图片

 

 三、练习

1.偷回宝石

 1 #他们一个宝石都没偷回来,为偷来的宝石stonenumber赋值为0。
 2 stonenumber = 0
 3 if stonenumber >= 4:
 4     #如果偷回的宝石数是4颗及以上,输出结果:获得了打败灭霸的力量,反杀稳了
 5     print(获得了打败灭霸的力量,反杀稳了)
 6 elif stonenumber >= 1:
 7     #如果偷回的宝石数是1-3颗,输出结果:可以全员出动,殊死一搏
 8     print(可以全员出动,殊死一搏)
 9 else:
10     #如果偷回的宝石数是0颗,输出结果:没办法了,只能尝试呼叫惊奇队长
11     print(没办法了,只能尝试呼叫惊奇队长)

2.美国队长的工资

 1 salary = 1000
 2 if salary <= 500:
 3     #如果月工资小于等于500美元,显示“欢迎进入史塔克穷人帮前三名”
 4     print(欢迎进入史塔克穷人帮前三名)
 5     if salary <= 100:
 6        # 如果月工资小于等于100美元,显示“恭喜您荣获“美元队长”称号!”
 7         print(恭喜您荣获“美元队长”称号!)
 8     else:
 9         #如果月工资在100-500美元之间,显示“请找弗瑞队长加薪”
10         print(请找弗瑞队长加薪)
11 elif  salary <= 1000:
12     #如果月工资在500-1000美元之间(含1000美元),打印“祝贺您至少可以温饱了。”
13     print(祝贺您至少可以温饱了。)
14 else:
15     #其他情况下,如果工资大于1000美元,打印“经济危机都难不倒您!”
16     print(经济危机都难不倒您!)
17     if salary <= 20000:
18     #如果工资在1000-20000美元(含20000美元)之间,打印“您快比钢铁侠有钱了!”
19         print(您快比钢铁侠有钱了!)
20     else:
21     #如果月工资大于20000美元,打印“您是不是来自于瓦坎达国?”
22         print(您是不是来自于瓦坎达国)
23 print(程序结束)

 

 

 

以上是关于第2关-条件判断与条件嵌套的主要内容,如果未能解决你的问题,请参考以下文章

if条件与嵌套

简化条件表达式

for 循环与嵌套

两个嵌套for循环的执行顺序

如何在laravel中的嵌套关​​系上放置where条件?

JS3流程控制