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

 

原文地址:https://www.cnblogs.com/yiyezhiqiu1/p/13084448.html