摘要
流程控制条件if
目的
- 掌握流程控制条件if的使用方法
内容
if
- 条件判断然后执行语句
- 条件判断值为True时执行语句
三种类型
##类型1
if <条件判断1>:
<执行1>
#类型2
if <条件判断1>:
<执行1>
else:
<执行2>
#类型3
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
- if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。
总结
- 三种if类型
- 条件判断值的判定
习题完成情况
#1. 输入三个整数x,y,z,请把这三个数由小到大输出。
#1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
# 定义判断输入是否合法,本例子中没作用
def Type_Error(x):
if not isinstance(x,(int)):
raise TypeError('{0} is not int'.format(x))
#输入三个数字,赋值给xyz
x = int(raw_input('Please input int x:'))
y = int(raw_input('Please input int y:'))
z = int(raw_input('Please input int z:'))
#判断数值是否合法
Type_Error(x)
Type_Error(y)
Type_Error(z)
#三个元素存入列表,然后排序输出
L = [x,y,z]
for i in sorted(L):
print(i)
#题目思路
if x > y :
x,y = y,x
if x > z:
x,z = z,x
if y > z:
y,z = z,y
print('%s,%s,%s' %(x,y,z))
#2. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
x = float(raw_input('Please input your profit:'))
if x <= 0:
print('game over')
elif x <= 10:
y = x * 0.1
elif x <= 20:
y = 10 * 0.1 + (x - 10) * 0.075
elif x <= 40:
y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05
elif x <= 60:
y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + (x - 40) * 0.03
elif x <= 100:
y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015
else:
y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (x - 100) * 0.01
print('Bonuses:{0}万'.format(y))
## 不明白这道题考什么 要只是if判断的话 没必要设这么多阶段,意义何在?