大佬救救我
profit = float(input("请输入今年的利润:"))if profit <= 100000:
reward = profit * 0.1
elif 100000 < profit <= 200000:
reward = 100000 * 0.1 + (profit - 100000) * 0.075
elif 200000 < profit <= 400000:
reward = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05
elif 400000 < profit <= 600000:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03
elif 600000 < profit <= 1000000:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015
else:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01
print("应该发放的奖金总数是:", reward, sep='')
以上代码为什么要把数据转化成浮点数,是因为python只能计算浮点数吗?另外我在elif当中可以不用再次使用变量而是直接使用money吗,见下money = float(input("请输入今年的利润"))
if money <= 100000:
print("应该发放的奖金总数是:",0.1(money))
elif 100000 < money <= 200000:
print("应该发放的奖金总数是:",10000 + 0.75(money-100000))
elif 200000 < money <= 400000:
print("应该发放的奖金总数是:",85000+0.05(money-200000))
elif 400000 < money <= 600000:
print("应该发放的奖金总数是:",95000 + 0.03(money-400000))
elif 600000 < money <= 1000000:
print("应该发放的奖金总数是:",155000 + 0.015(money-600000))
elif 1000000 <= money:
print("应该发放的奖金总数是:",161000 + 0.01(money - 1000000))
是因为 int 不支持将小数字符串转化为数字,会报错,而 float 不会报错
1,不是的,因为输入的是浮点数,转化也要转化成浮点数。
2,可以不用变量,但你的写法怎么变成数学了...这样是不可以的 1. 因为需要用户输入一个浮点数,所以要用 float() 将一个字符串转化为浮点数,如果用 int() 只能将字符串转化为整数或者将浮点数转化为整数,不能将字符串转化为浮点数。
2. 可以不使用新变量,但你的写法错了,少了乘号,应该这样:
money = float(input("请输入今年的利润"))
if money <= 100000:
print("应该发放的奖金总数是:", 0.1 * money)
elif 100000 < money <= 200000:
print("应该发放的奖金总数是:", 10000 + 0.75 * (money - 100000))
elif 200000 < money <= 400000:
print("应该发放的奖金总数是:", 85000 + 0.05 * (money - 200000))
elif 400000 < money <= 600000:
print("应该发放的奖金总数是:", 95000 + 0.03 * (money - 400000))
elif 600000 < money <= 1000000:
print("应该发放的奖金总数是:", 155000 + 0.015 * (money - 600000))
elif 1000000 <= money:
print("应该发放的奖金总数是:", 161000 + 0.01 * (money - 1000000))
页:
[1]