鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 2

  [复制链接]
发表于 2017-8-11 19:51:09 | 显示全部楼层
  1. try:
  2.     money = int(input('请输入当月利润:'))
  3. except (ValueError,KeyError,EOFError):
  4.     print('输入有误,请重新输入')

  5. if      money <= 100000:
  6.             bonus = money * 0.1
  7. elif    100000 < money < 200000:
  8.             bonus = (100000 * 0.1) + (money - 100000)*0.75
  9. elif    200000 <= money < 400000:
  10.             bonus = (200000 * 0.1) + (money - 200000) * 0.05
  11. elif    400000 <= money < 600000:
  12.             bonus = (400000 * 0.1) + (money - 400000) * 0.03
  13. elif    600000 <= money < 1000000:
  14.             bonus = (600000 * 0.1) + (money - 600000) * 0.15
  15. elif    100 <= money:
  16.             bonus = (1000000 * 0.1) + (money - 1000000) * 0.01

  17. print('奖金是%d' % bonus)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-17 18:30:29 | 显示全部楼层
  1. print("-------通过月利润计算应发奖金数量-------")

  2. bonus = 0   #最后输出的奖金数量
  3. temp = input("请输入月利润,单位(万元):")
  4. monthly_profit = int(temp)   #月利润

  5. profit = [100,60,40,20,10,0]
  6. rate = [0.01,0.015,0.03,0.05,0.075,0.1]

  7. for i in range (0,6):
  8.     if monthly_profit > profit[i]:
  9.         bonus = bonus + (monthly_profit - profit[i])*(rate[i])
  10.         monthly_profit = profit[i]
  11.         

  12. print("应发奖金为:")
  13. print(bonus)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-19 21:51:33 | 显示全部楼层
  1. w = int(input('请输入利润:'))
  2. if w <= 100000:
  3.     t = w * 0.1
  4. elif w < 200000:
  5.     t = 10000 + (w - 100000) * 0.075
  6. elif w < 400000:
  7.     t = 17500 + (w - 200000) * 0.05
  8. elif w < 600000:
  9.     t = 27500 + (w - 400000) * 0.03
  10. elif w < 1000000:
  11.     t = 33500 + (w - 600000) * 0.015
  12. else:
  13.     t = 39500 + (w - 1000000) * 0.01
  14. print('总奖金为:' + str(t))
复制代码

写得很丑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-28 14:05:53 | 显示全部楼层
  1. money = int(input("输入利润:"))
  2. rat = [0.01,0.015,0.03,0.05,0.075,0.1]
  3. level = [100,60,40,20,10,0]
  4. s = 0
  5. i = 0
  6. for each in level:
  7.     if money-each>0:
  8.         s += (money-each)*rat[i]
  9.         money = each
  10.     i += 1
  11. #s += money*rat[i]
  12. print s
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-28 15:03:52 | 显示全部楼层
  1. money = int(input("输入利润:"))
  2. rat = [0.01,0.015,0.03,0.05,0.075,0.1]
  3. level = [100,60,40,20,10,0]
  4. s = 0
  5. for i in range(6):
  6.     if money-level[i]>0:
  7.         s += (money-level[i])*rat[i]
  8.         money = level[i]
  9. print s
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-6 09:42:12 | 显示全部楼层
profit = int(input('请输入月利润:'))
if profit <= 10:
    bonus = profit * 0.1
elif 10 < profit <= 20:
    bonus = 1 + (profit - 10) * 0.75
elif 20 < profit <= 40:
    bonus = 1.75 + (profit -20) * 0.05
elif 40 < profit <= 60:
    bonus = 2.75 + (profit - 40) * 0.03
elif 60 < profit <= 100:
    bonus = 3.35 + (x - 60) * 0.015
elif profit > 100:
    bonus = 3.95 + (profit - 100) * 0.01
print('奖金为%.3f万元' % bonus)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-7 23:10:23 | 显示全部楼层
  1. profit = int(raw_input("Enter your profit: "))

  2. if profit <= 100000:
  3.     bonus = profit * 0.1
  4. elif profit < 200000:
  5.     bonus = (profit - 100000) * 0.075 + 100000
  6. elif profit < 400000:
  7.     bonus = (profit - 200000) * 0.05 + 100000 * (0.1 + 0.075)
  8. elif profit < 600000:
  9.     bonus = (profit - 400000) * 0.03 + 200000 * 0.05 + 100000 * (0.1 + 0.075)
  10. elif profit < 1000000:
  11.     bonus = (profit - 600000) * 0.015 + 200000 * (0.05 + 0.03) + 100000 * (0.1 + 0.075)
  12. else:
  13.     bonus = (profit - 1000000) * 0.01 + 400000 * 0.015 + 200000 * (0.05 + 0.03) + 100000 * (0.1 + 0.075)
  14.    
  15. print "Your bonus is: ", bonus   
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 10:25:54 | 显示全部楼层
  1. def dividend(profit):
  2.     profit /= 10000
  3.     if profit > 100:
  4.         result = 3.95 + 0.01 * (profit - 100)
  5.     elif profit > 60:
  6.         result = 3.35 + 0.015 * (profit - 60)
  7.     elif profit > 40:
  8.         result = 2.75 + 0.03 * (profit - 40)
  9.     elif profit > 20:
  10.         result = 1.75 + 0.05 * (profit - 20)
  11.     elif profit > 10:
  12.         result = 1 + 0.075 * (profit - 10)
  13.     elif profit > 0:
  14.         result = 0.1 * profit
  15.     else:
  16.         print("profit can't be negative")
  17.         return

  18.     result = int(10000 * result)
  19.     profit = int(10000 * profit)
  20.     print('When profit is ' + str(profit) + ', you can get ' + str(result))

  21. while True:
  22.     profit = int(input('Please enter a profit(0 to quit):'))
  23.     if not profit:
  24.         print('Byebye')
  25.         break
  26.     dividend(profit)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 15:04:16 | 显示全部楼层
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
n = int(input('输入你的净利润:'))
tmp = 0
for i in range(6):
        if n > arr[i]:
                tmp += (n-arr[i])*rat[i]
                n = arr[i]
print(tmp)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-23 21:37:38 | 显示全部楼层
q=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and i!=k and j!=k:
                q+=1
                print(i,j,k,q)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 15:17:55 | 显示全部楼层
  1. def bouns(i):
  2.     if 0 <= i <=100000:
  3.         return i * 0.1
  4.     elif 100000< i < 200000:
  5.         return 10000 + (i - 100000) * 0.075
  6.     elif 200000 <= i < 400000:
  7.         return 10000 * 0.175 + (i - 200000) * 0.05
  8.     elif 400000 <= i < 600000:
  9.         return 10000 * 0.275 + (i - 400000) * 0.03
  10.     elif 600000 <= i < 1000000:
  11.         return 10000 * 0.335 + (i - 600000) * 0.015
  12.     elif i >= 1000000:
  13.         return 10000 * 0.395 + (i - 1000000) * 0.01

  14. i = float(input('请输入当月利润,单位"元":'))
  15. print('应获得奖金%.2f' % bouns(i))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-8 22:37:33 | 显示全部楼层
本帖最后由 口可口可 于 2017-10-8 22:39 编辑
  1. i = input("请输入本月的利润(单位为元,支持小数):")
  2. while 1:
  3.     try:
  4.         i = float(i)
  5.         break
  6.     except:
  7.         i = input("输入有误,请重新输入:")

  8. arr = [1000000,600000,400000,200000,100000,0]
  9. rat = [0.01,0.015,0.03,0.05,0.075,0.1]
  10. bouns = 0
  11. for idx in range(0,6):
  12.     if i > arr[idx]:
  13.         bouns += (i-arr[idx]) * rat[idx]
  14.         i = arr[idx]
  15. print("应发放奖金:%.2f元"%bouns)
复制代码

楼主的答案更切题一些,所以借用了一下,增加了输入判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-25 21:24:03 | 显示全部楼层
开始还很不理解敲了一遍立马顺畅
money = int(input("请输入奖金金额"))
arr = [1000000,600000,400000,200000,100000,0]
rate =[0.01,0.015,0.03,0.05,0.075,0.1]
sum = 0
for i in range(0,6):
    if money > arr[i]:
        sum += (money - arr[i]) * rate[i]
        i = arr[i];
        print(sum);
print(sum)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-7 12:42:29 | 显示全部楼层
  1. print('当月利润:',end=' ')
  2. i = int(input())
  3. if i <= 10:
  4.     bonus = i * 0.1
  5.     print(bonus)
  6. else:
  7.     if i <= 20:
  8.         bonus = 10*0.1+(i-10)*0.075
  9.         print(bonus)
  10.     else:
  11.         if i <= 40:
  12.             bonus = 10*0.1+10*0.075+(i-20)*0.05
  13.             print(bonus)    #感觉自己代码写的又累赘难看了
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-28 16:11:43 | 显示全部楼层

a = int(input('请输入当月的利润: '))
if a<100000:
    print("应发奖金为: %.2f 元"%(a*(0.1)))

if a>=100000 and a<200000:
    print("应发奖金为: %.2f 元"%(100000*0.1+(a-100000)*0.075))
if a>=200000 and a<400000:
    print("应发奖金为: %.2f 元"%(17500.00+(a-200000)*0.05))
if a>=400000 and a<600000:
    print("应发奖金为: %.2f 元"%(27500.00+(a-400000)*0.03))  
if a>=600000 and a<1000000:
    print("应发奖金为: %.2f 元"%(33500.00 +(a-600000)*0.015))
if a>=1000000:
    print("应发奖金为: %.2f 元"%(39500.00 +(a-1000000)*0.01))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-1 16:24:27 | 显示全部楼层
  1. def getBonus(profit):
  2.     if profit <= 100000:
  3.         return profit*0.1
  4.     elif profit <= 200000:
  5.         return (profit-100000)*0.075 + 100000*0.1
  6.     elif profit <= 400000:
  7.         return (profit-200000)*0.05 + 100000*0.1 + 100000*0.75
  8.     elif profit <= 600000:
  9.         return (profit-400000)*0.03 + 100000*0.1 + 100000*0.75 + 200000*0.05
  10.     elif profit <= 1000000:
  11.         return (profit-600000)*0.015 + 100000*0.1 + 100000*0.75 + 200000*0.05 + 200000*0.03
  12.     else:
  13.         return (profit-1000000)*0.01 + 100000*0.1 + 100000*0.75 + 200000*0.05 + 200000*0.03 + 400000*0.015

  14. print(getBonus(1250000))

  15. #  109500.0
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-2 19:31:48 | 显示全部楼层
profit = input('请输入当月利润:')
i = int(profit)
if i <= 100000 :
    prize = int(i * 0.1)
elif 100000 <= i <= 200000:
    prize = int(10000 + (i - 100000) * 0.075)
elif 200000 <= i <= 400000:
    prize = int(17500 + (i - 200000) * 0.05)
elif 400000 <= i <= 600000:
    prize = int(27500 + (i - 400000) * 0.03)
elif 600000 <= i <= 1000000:
    prize = int(33500 + (i - 600000) * 0.015)
else :
    prize = int(39500 + (i - 1000000) * 0.01)
print('您的奖金为:' + str(prize))

没看答案之前写的,感觉还得好好学习,列表完全不会,检验机制不知道加,有点蠢orz
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 18:36:17 | 显示全部楼层
貌似大家的程序中,用数学思维求解的更好理解一点,对于我这种新手更容易明白。还得加油追赶各位了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-3 15:59:45 | 显示全部楼层

个人觉得你的答案是这里面最易读的,一目了然。支持!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 10:29:24 | 显示全部楼层
  1. def calc(I):
  2.       if I<=100000:
  3.             return I*0.1
  4.       elif 100000<I<=200000:
  5.             return 10000+(I-100000)*0.075
  6.       elif 200000<I<=400000:
  7.             return 17500+(I-200000)*0.05
  8.       elif 400000<I<=600000:
  9.             return 27500+(I-400000)*0.03
  10.       elif 600000<I<=1000000:
  11.             return 33500+(I-600000)*0.015
  12.        elif I>1000000:
  13.             return 39500+(I-1000000)*0.01

  14. while True:
  15.      data=int(input("请输入当月利润: "))
  16.      money=calc(data)
  17.      print("本月应发放奖金总数:",money)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 01:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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