python流程控制之if

if

格式

1
2
if expression:
statements

缩进使用4个空格,不建议使用TAB键。

实例

键盘输入数字,>90输出A,>80输出B,>=70输出C,<70输出D。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@linux02 ~]# cat if.py
#!usr/bin/python

score = int(raw_input("Please input a number:"))
if score >= 90:
print 'A'
print 'Very Good'
elif score >= 80:
print 'B'
print 'Good'
elif score >= 70:
print 'C'
print 'pass'
else:
print 'D'
print 'not pass'
print 'main end'

逻辑值包含2个量。

  • True:表示非空的量,所有非零数。
  • False:表示0,none,空的量等。

    if实例

  • 输入三个整数x,y,z,请把这三个数由小到大输出。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    list1 = []
    for i in range(3):
    list1.append(int(input('{}:'.format(i))))
    print(list1)
    x = min(list1)
    list1.remove(x)
    z = max(list1)
    y = list1[0]
    print(x, y, z)
  • 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    I = int(input('Enter the profit:'))
    if I >= 100:
    A = (I-100) * 0.01 + 3.95
    elif I >= 60:
    A = (I - 60)* 0.015 + 3.35
    elif I >= 40:
    A = (I - 40)*0.03 + 2.75
    elif I >= 20:
    A = (I - 20)*0.05 + 1.75
    elif I >= 10:
    A = (I - 10)*0.075 + 1
    else:
    A = I*0.1
    print(A)

更简洁的写法

1
2
3
4
5
6
7
8
9
I = int(input('Enter the profit:'))
arr = [100, 60, 40, 20, 10, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
A = 0
for idx in range(0, 6):
if I > arr[idx]:
A += (I-arr[idx])*rat[idx]
I = arr[idx]
print(A)

Recommended Posts