鱼C论坛

 找回密码
 立即注册
查看: 1673|回复: 2

[已解决]奖金发放题目改编遇到的问题,试了半天自己没解决,能帮帮忙么?谢谢谢谢谢谢

[复制链接]
发表于 2019-12-28 12:54:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. """
  2. 【程序2】
  3. 题目:企业发放的奖金根据利润提成。
  4. 利润(I)低于或等于10万元时,奖金可提10%;
  5. 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
  6.       20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;
  7.       60万到100万之间时,高于60万元的部分,可提成1.5%,
  8.       高于100万元时,超过100万元的部分按1%提成,
  9.       从键盘输入当月利润I,求应发放奖金总数?
  10.       
  11. 取名字:当月利润 Monthly profit 记为 m_pro   
  12.               利润等级 m_pro_lever
  13.               奖金 bonus
  14. """
  15. m_pro_lever = [0, 100000, 200000, 400000, 600000, 1000000, 10000000000]
  16. rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
  17. m_pro = int(input("请输入当月利润总金额:\n"))
  18. print('当月利润总金额为:%d' % m_pro)
  19. bonus = 0
  20. for i in range(0, 7):
  21.     if m_pro > m_pro_lever[5-i]:
  22.         lever_bonus = (m_pro - m_pro_lever[5-i])*rate[5-i]
  23.         bonus = bonus + (m_pro - m_pro_lever[5-i])*rate[5-i]
  24.         m_pro = m_pro_lever[5-i]
  25.         print('%d万元%d万元之间部分按%.3f计算奖励:%d元' %
  26.               (m_pro_lever[5 - i] / 10000, m_pro_lever[6 - i] / 10000, rate[5 - i], lever_bonus))

  27. print("总计奖金", bonus)
复制代码

我想输出利润的明细账单,在超过100万这一档出现问题,我想输出100万以上,这个以上怎么实现呢?
请输入当月利润总金额:
16000000
当月利润总金额为:16000000
100万元1000000万元之间部分按0.010计算奖励:150000元
60万元100万元之间部分按0.015计算奖励:6000元
40万元60万元之间部分按0.030计算奖励:6000元
20万元40万元之间部分按0.050计算奖励:10000元
10万元20万元之间部分按0.075计算奖励:7500元
0万元10万元之间部分按0.100计算奖励:10000元
总计奖金 189500.0
我没办法就增设了一个比100万大的一档10000000,我想输出的的是:100万元以上间部分按0.010计算奖励:150000元
最佳答案
2020-1-26 13:34:21
超过最大档100万是特殊情况,可以单独写出来:
  1. m_pro_level = [0, 100000, 200000, 400000, 600000, 1000000]#, 10000000000]
  2. rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
  3. m_pro = int(input("请输入当月利润总金额:\n"))
  4. print('当月利润总金额为:%d' % m_pro)
  5. bonus = 0
  6. if m_pro > m_pro_level[-1]:
  7.     #如果月利润大于最大档:
  8.         level_bonus = (m_pro - m_pro_level[-1])*rate[-1]
  9.         bonus = bonus + level_bonus
  10.         print("%d万元%d万元之间部分按%.3f计算奖励:%d元"%(m_pro/10000, m_pro_level[-1]/10000,rate[-1],bonus))
  11.         m_pro = m_pro_level[-1]
  12. for i in range(5):
  13.     #除去最大档还剩五挡(0,1,2,3,4)
  14.         if m_pro > m_pro_level[4-i]:
  15.                 level_bonus = (m_pro - m_pro_level[4-i])*rate[4-i]
  16.                 bonus = bonus + level_bonus
  17.                 print('%d万元%d万元之间部分按%.3f计算奖励:%d元' %(m_pro / 10000, m_pro_level[4 - i] / 10000, rate[4 - i], level_bonus))
  18.                 m_pro = m_pro_level[4-i]

  19. print("总计奖金", bonus)
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-1-26 13:34:21 | 显示全部楼层    本楼为最佳答案   
超过最大档100万是特殊情况,可以单独写出来:
  1. m_pro_level = [0, 100000, 200000, 400000, 600000, 1000000]#, 10000000000]
  2. rate = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
  3. m_pro = int(input("请输入当月利润总金额:\n"))
  4. print('当月利润总金额为:%d' % m_pro)
  5. bonus = 0
  6. if m_pro > m_pro_level[-1]:
  7.     #如果月利润大于最大档:
  8.         level_bonus = (m_pro - m_pro_level[-1])*rate[-1]
  9.         bonus = bonus + level_bonus
  10.         print("%d万元%d万元之间部分按%.3f计算奖励:%d元"%(m_pro/10000, m_pro_level[-1]/10000,rate[-1],bonus))
  11.         m_pro = m_pro_level[-1]
  12. for i in range(5):
  13.     #除去最大档还剩五挡(0,1,2,3,4)
  14.         if m_pro > m_pro_level[4-i]:
  15.                 level_bonus = (m_pro - m_pro_level[4-i])*rate[4-i]
  16.                 bonus = bonus + level_bonus
  17.                 print('%d万元%d万元之间部分按%.3f计算奖励:%d元' %(m_pro / 10000, m_pro_level[4 - i] / 10000, rate[4 - i], level_bonus))
  18.                 m_pro = m_pro_level[4-i]

  19. print("总计奖金", bonus)
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 11:13:56 | 显示全部楼层
EthanHsiung 发表于 2020-1-26 13:34
超过最大档100万是特殊情况,可以单独写出来:

啊哈,谢谢你,虽然我已经解决了,但是觉得这里居然有人搭理,真开心。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 17:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表