美文网首页
Python100练习_2

Python100练习_2

作者: 步履不停的Suunny | 来源:发表于2017-12-27 12:34 被阅读0次

题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
方法一: 使用字典控制利润与提成比例的匹配

#!/usr/bin/python
# -*- coding: UTF-8 -*-
num = int(raw_input("Please input 净利润(单位:万元):"))
obj = [100:0.01, 60:0.015, 40:0.03,20:0.05, 10:0.075, 0:0.1]
keys = obj.keys()
keys.sort()
keys.reverse()

r = 0
for key in keys:
if num > key:
    r += (num-key) *  obj.get(key)
    num = key
print “将利润为(万元):” , r

方法二: 使用个列表

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
i = int(raw_input('净利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
    if i>arr[idx]:
        r+=(i-arr[idx])*rat[idx]
        print (i-arr[idx])*rat[idx]
        i=arr[idx]
print r

其他使用if...elif...else语句逐一判断,没有体现python的优势

相关文章

  • Python100练习_2

    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时...

  • 设计模式学习遇到的问题总结

    一、问题汇总列表 1、python100例[https://www.runoob.com/python/pytho...

  • Python100个练习(2.7版本)

    1、有四个数字:1,2,3,4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、...

  • 目录

    通过学习github 上挺火的python100天,学python,加油!目标是会用就行github的链接:htt...

  • 12.13

    哈哈哈哈,我觉得我明天就可以把python100例刷完!!!接下来我就学习类!!!

  • python100练习_6 斐波那契数列

    题目:斐波那契数列。程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一...

  • python100练习_4,time.strptime获取时间信

    强大的Python ,直接计算输入年月日为当年的第几天>>> import time>>> print(time....

  • Python100例--004

    题目:输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加...

  • Python100例--008

    题目:输出 9*9 乘法口诀表。 输出:

  • Python100例--013

    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"...

网友评论

      本文标题:Python100练习_2

      本文链接:https://www.haomeiwen.com/subject/ixqugxtx.html