程序2:奖金分段提成

来源:互联网 发布:淘宝有逆战招打手的吗 编辑:程序博客网 时间:2024/04/29 20:21
'''
【程序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,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      
'''
'''
知识点
模块导入:

模块时实现一定具体功能的普通Python脚本文件,Python标准库以模块方式提供方式。
模块用关键字import导入。如"import InteractiveConsole"
或from...import 导入模块中的类或函数,如"from code import InteractiveConsole"
InteractiveConsole为code模块中的一个类名


Python包导入
Python中,可以功能相同的模块组织到包中,包可相当于目录层次。包中必须含有__init__.py
文件,它的编写以后专门介绍。
结构:P_top/
       __init__.py
       P_second/
           __init__.py
           a.py
           b.py
包的导入可以"."组织包层次,如导入a模块,import P_top.P_second.a
或from P_top.P_second import a


raw_input 与input区别
在Python版本2中,区别是raw_input读取控制台的输入字符串,
input必须读取一个合法的Python表达式,所以,input输入字符串需要加""号,
对于数字也能转成数字类型。
>>> raw_input_A = raw_input("raw_input: ")
raw_input: abc
 >>> input_A = input("Input: ")
Input: "abc"
>>> raw_input_B = raw_input("raw_input: ")
raw_input: 123
 >>> type(raw_input_B)
 <type 'str'>
>>> input_B = input("input: ")
input: 123
>>> type(input_B)
<type 'int'>
>>>
因此,input可说是先调用raw_input,然后再调用eval()函数(将字符串当作脚本执行的函数)。
而在Python版本3中,二者没有区别,raw_input被转换为input。


if-else 条件结构
if结构以冒号开始语句块,当语句块为空时,可用关键字pass代替,
如if true:pass
  else:pass
'''
#解法:
#Python 3.3.5
from code import InteractiveConsole


bonus1 = 100000 * 0.1
bonus2 = bonus1 + 100000 * 0.075
bonus4 = bonus2 + 200000 * 0.5
bonus6 = bonus4 + 200000 * 0.3
bonus10 = bonus6 + 400000 * 0.15


i = int(InteractiveConsole.raw_input('input gain:\n'))
if i <= 100000:
    bonus = i * 0.1
elif i <= 200000:
    bonus = bonus1 + (i - 100000) * 0.075
elif i <= 400000:
    bonus = bonus2 + (i - 200000) * 0.05
elif i <= 600000:
    bonus = bonus4 + (i - 400000) * 0.03
elif i <= 1000000:
    bonus = bonus6 + (i - 600000) * 0.015
else:
    bonus = bonus10 + (i - 1000000) * 0.01
print('bonus = ',bonus)
0 0
原创粉丝点击