鱼C论坛

 找回密码
 立即注册
查看: 11378|回复: 3

[已解决]TypeError: unorderable types: str() <= int()怎么改这个错误

[复制链接]
发表于 2016-5-28 12:40:09 | 显示全部楼层 |阅读模式

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

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

x
'''
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
'''
'''
I<=10        gold1 = 10%*I
10<I<=20     gold 2= 10%*10+7.5%*(I-10)
20<I<=40     gold 3= 10%*10+7.5%*10+5%*(I-20)
40<I<=60     gold 4= 10%*10+7.5%*10+5%*10+3%*(I-40)
60<I<=100    gold 5= 10%*10+7.5%*10+5%*20+3%*20+1.5%*(I-60)
I>100        gold 6= 10%*10+7.5%*10+5%*20+3%*20+1.5%*40+1%*(I-100)
'''

I = input('请输入当月利润:')
gold = int(I)

if I<=100000:
    gold = 0.1*I
elif  100000<I<=200000 :
    gold= 0.1*100000+0.75*(I-100000)
elif 200000<I<=400000:
    gold= 0.1*100000+0.75*100000+0.05*(I-200000)
elif 400000<I<=600000:
    gold= 0.1*100000+0.75*100000+0.05*10+0.03*(I-400000)
elif 600000<I<=1000000:
    gold= 0.1*100000+0.75*100000+0.05*200000+0.03*200000+0.015*(I-600000)
elif I>1000000 :
    gold= 0.1*100000+0.75*100000+0.05*200000+0.03*200000+0.015*400000+0.01*(I-1000000)
print(gold)
   
最佳答案
2016-5-29 08:47:50
pythin3的 input函数相当于2的raw_input 输入的都是字符串,也就是I是一个字符串,应加一句
  1. I=int(I)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-29 08:47:50 | 显示全部楼层    本楼为最佳答案   
pythin3的 input函数相当于2的raw_input 输入的都是字符串,也就是I是一个字符串,应加一句
  1. I=int(I)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-29 11:32:16 | 显示全部楼层
#把第一句代码这样改
I = int(input('请输入当月利润:'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-5-29 11:40:16 | 显示全部楼层
#还有 elif 你没真真理解,其实可以按如下写:
I = int(input('请输入当月利润:'))
if I<=100000:
    gold = 0.1*I
elif  I<=200000 :
    gold= 0.1*100000+0.75*(I-100000)
elif I<=400000:
    gold= 0.1*100000+0.75*100000+0.05*(I-200000)
elif I<=600000:
    gold= 0.1*100000+0.75*100000+0.05*200000+0.03*(I-400000)
elif I<=1000000:
    gold= 0.1*100000+0.75*100000+0.05*200000+0.03*200000+0.015*(I-600000)
else:
    gold= 0.1*100000+0.75*100000+0.05*200000+0.03*200000+0.015*400000+0.01*(I-1000000)
print('应发放奖金数:',gold)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 18:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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