摘要

流程控制条件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判断的话 没必要设这么多阶段,意义何在? 

posted on 2017-12-25 22:48  siaspedro  阅读(187)  评论(0编辑  收藏  举报