摘要
流程控制条件if
目的
- 掌握流程控制条件if的使用方法
内容
if
- 条件判断然后执行语句
- 条件判断值为True时执行语句
三种类型
##类型1if <条件判断1> : <执行1> #类型2if <条件判断1> : <执行1> else: <执行2> #类型3if <条件判断1> : <执行1> elif <条件判断2> : <执行2> elif <条件判断3> : <执行3> else: <执行4>执行4> 执行3> 条件判断3> 执行2> 条件判断2> 执行1> 条件判断1> 执行2> 执行1> 条件判断1> 执行1> 条件判断1>
- 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))#输入三个数字,赋值给xyzx = 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,xif x > z: x,z = z,xif y > z: y,z = z,yprint('%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.1elif x <= 20: y = 10 * 0.1 + (x - 10) * 0.075elif x <= 40: y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05elif x <= 60: y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + (x - 40) * 0.03elif x <= 100: y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015else: y = 10 * 0.1 + 10 * 0.075 +20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (x - 100) * 0.01print('Bonuses:{0}万'.format(y))## 不明白这道题考什么 要只是if判断的话 没必要设这么多阶段,意义何在?