单向判断:if,双向判断:if…else…,多向判断:if…elif…else if嵌套的执行顺序
《X战警:逆转未来》实例代码
import time #引入time库控制时间库
print('如果你想拥有读心术,那选择X教授')
time.sleep(2) # 暂停两秒
print('如果你想干扰地球磁场,那选择万磁王')
time.sleep(2)
print('如果你想急速自愈能力,野兽般的感知能力,那选择金刚狼')
time.sleep(2)
print('如果你想拥有念力移位和心电感应,那选择凤凰女')
time.sleep(2)
print('如果你想拥有能随意控制气候的能力,那选择暴风女')
time.sleep(2)
print('那么,如果让你来选择的话,你想选择哪个人物?')
time.sleep(2)
print('请在以下六个选项【1 X教授 ;2 万磁王;3 金刚狼 ;4 凤凰女;5 暴风女 ;】中,选择你最想成为的人物吧!')
time.sleep(3)
answer=input('请将对应数字输入在冒号后: ')#输入响应
#多项判断条件语句
if answer=='1':
print('我是教授,通过其能力剥夺并控制他人的思维同时操纵他人的行动。')
time.sleep(3)
elif answer=='2':
print('我X万磁王,通过干扰地球磁场达到飞行的能力。')
time.sleep(3)
elif answer=='3':
print('我是金刚狼,天生双臂长有可伸出体外的利爪')
time.sleep(3)
elif answer=='4':
print('我是凤凰女,预知未来,并能抗拒他人的精神攻击。')
time.sleep(3)
elif answer=='5':
print('我是暴风女,被称作天气女神。')
time.sleep(3)
else:
print('没有这个选项,请输入1-5的整数数字哦~')
一、条件判断
单向判断:if
# 为钱包赋值
money = 1000
# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
# 结果:显示‘你去吃日料’的结果
print('金刚狼带凤凰女去吃日料')
空格不叫空格,而是叫缩进。就如同我们写报告一样,每段开始都要空两格。
缩进是四个空格或一个 Tab 键,且Tab 键和四个空格不能混用,千万注意!千万注意!
# 为钱包赋值
money = 500
# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
# 结果:显示‘你去吃日料’的结果
print('金刚狼带凤凰女去吃日料')
money = 500 是 if 语句 判断的前提条件, 然而不满足 money>=1000 这个条件,所以不会执行条件下 print(‘金刚狼带凤凰女去吃日料’)语句。
双向判断:if…else…
# 为钱包赋值
money = 500
# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
print('金刚狼带凤凰女去吃日料')
# 条件:当不满足if条件,执行else条件下语句
else:
print('金刚狼带凤凰女去吃KFC')
小练习
昨天晚上,小K 计划去锻炼,所以她打算了一下,如果体重超过90斤,她就每天去跑步;如果体重不超过90斤,她就每天去散步。结果称了称,98斤。
请在下面代码框里用 if…else…把小K 锻炼判断语句写出来。
【要点提示】
1、为小K的体重 weight 赋值;
2、开始判断,如果 if 体重超过90斤,打印结果她就每天去跑步,否则 else,打印结果她就每天去散步;
3、if 和 else 语句后需跟英文冒号:
# 赋值语句:为体重赋值
weight = 98
#条件:满足体重超过90(包含90)
if weight >= 90:
#打印输出跑步
print("小k跑步")
# 条件:当赋值不满足if条件时,执行else下的命令
else:
# 结果:显示‘散步’的结果
print("小k散步")
多向判断:if…elif…else…
通过上面分析,我们可以得知:如果钱包里的钱多于 1000(包含1000),金刚狼带凤凰女去吃日料;如果钱包里的钱多于 800(包含800),金刚狼带凤凰女去吃披萨;如果钱包里的钱比 800 少,金刚狼带凤凰女去吃 KFC。
这里就有了三个如果条件。
# 为钱包赋值
money = 999
# 条件:如果有1000块钱以上(包含1000块),就去吃日料
if money>=1000:
print('金刚狼带凤凰女去吃日料')
# 条件:如果有800-1000块钱之间(包含800块)
elif money>=800:
print('金刚狼带凤凰女去吃披萨')
#不满足条件
else:
print('金刚狼带凤凰女去吃KFC')
小练习
今天晚上,小K 要加班了。如果加班时间超过 10 点(包含10点),小K 就打车回家;如果加班时间在 8 点-10 点之间(包含8点),小K 坐地铁回家;如果加班时间早于 8 点,小K 骑单车回家。
提示:
(1)为小K的加班时间赋值。
(2)条件1,如果加班时间>=10,小K打车回家。
(3)条件2,如果8<=加班时间<10,小K坐地铁回家。
(4)条件3,如果加班时间<8, 小K骑单车回家。
xiaok =
if xiaok >= 10:
print("小k打车回家")
elif 8 <= xiaok < 10:
print("小k坐地铁回家")
else:
print("小k骑单车回家")
xiaok = int(input())
if xiaok >= 10:
print("小k打车回家")
elif 8 <= xiaok < 10:
print("小k坐地铁回家")
else:
print("小k骑单车回家")
if嵌套
在X战警团队里,每个人都是有段位的, 而段位是根据这个队员在团队的贡献值来确定的,金刚狼的贡献值有 860。 请你写出一段代码,判断金刚狼的段位,代码需要满足如下条件:
1、如果贡献值大于等于 600,显示“特种作战人员”,在此前提下:
a.如果贡献值大于等于 800,显示“王者”。
b.如果贡献值小于 800,显示“黄金”。
2、如果贡献值小于 600,显示“普通作战人员”,在此前提下:
c.如果贡献值大于 400,显示“白银”。
d.如果贡献值小于等于 400,显示“青铜”。
jgl =
if 600 <= jgl:
print("特种作战人员")
if 800 > jgl > 600:
print("黄金")
else:
print("王者")
else:
print("普通作战人员")
if 400 < jgl:
print("白银")
else:
print("青铜")
课堂练习
任务目标
你可以使用 if 单向判断或多向判断,根据条件完成书写代码,并产生出结果。
1、如果团队人数大于4人,输出结果打败死侍他们。
2、如果团队人数是2-4之间,输出结果两败俱伤。
3、如果团队人数小于2,输出结果被死侍碾压需要请求复仇者支援。
解题思路
根据任务目标中给出的条件,可以进行进一步分析,对应下面的条件我们可以在脑海中形成思路,if num>4 情况下使用 print()输出能够打败死侍他们,第二个条件,第三个条件也是一样。
1、如果金刚狼的X战警团队有4人以上,便能够打败死侍他们。
2、如果金刚狼的X战警团队有2-4个人,势均力敌可能会两败俱伤。
3、如果金刚狼的X战警团队剩下1人,会被死侍碾压需要请求复仇者支援。
想想是否可以有其他不同的方式实现同样的功能效果呢?
1.可以使用 if 单向判断同时完成判断。
2.可以使用 if、elif、else 多向判断完成。
num=
if num>4:
print('打败死侍他们')
if :
if :
num=1
if num>4:
print('打败死侍他们')
if 4 >= num >=2:
print("两败俱伤")
if 2 > num:
print("被死侍碾压需要请求复仇者支援")
练习二
金刚狼拥有快速自愈能力,他想把这个能力赋予给其他人。根据他的条件,他制定了如下规则。
1、如果身体体能指数 energy 大于等于 80,就是容易改造,在此前提下:
a) 如果身体体能指数大于等于 90,1 小时改造完毕。
b) 如果身体体能指数大于等于 80,1 天改造完毕。
2、如果身体体能指数小于 80,就是不易改造,在此前提下:
a) 如果身体体能指数小于 60, 改造不了。
b) 如果身体体能指数大于等于 60 小于 80,希望渺茫。
那么像魔女,她的身体体能指数有 65,能否改造呢?
解题思路
在写代码之前先要清楚题目的要求,在脑海中构造好思路再写代码就很容易了。
通过题目可以得知这是一个需要用 if 嵌套的语句完成的,需要判断 energy 的值 所以我们先定义一个变量 energy = 90。
首先判断 energy 是否大于等于 80,如果条件满足输出容易改造。这个时候我们需要思考一下,如果 energy 不大于等于 80 应该做什么事,不大于等于 80 言外之意就是小于 80,在第二个大条件中就是判断小于 80 的情况,所以这样就可以直接写出 if 和对应的 else,这样最外层的判断就完成了。
当 energy 大于等于 80 这个条件成立的时候,还需要继续判断 erergy 是否大于等于 90,如果成立则输出 1 小时改造完成,如果不成立输出 1 天改造完毕。
当 energy 小于 80 的情况,还需要再进一步判断 energy 是否小于 60,如果条件成立则输出改造不了,如果条件不成立则输出希望渺茫。
energy=65
if energy>=80:
print('容易改造')
if
else
else
if
else
print('结束')
energy=65
if energy>=80:
print('容易改造')
if 90 <= energy:
print("1小时改造完毕")
else:
print("1天改造完毕")
else:
if 80 > energy >= 70:
print("不易改造")
else:
if 60 > energy:
print("改造不了")
else:
print("希望渺茫")
print('结束')