提问人: 提问时间:3/31/2022 更新时间:4/1/2022 访问量:168
使用 Python 计算扣除费用后的 Upwork 总金额
Calculate total amount from Upwork after fee deduction using Python
问:
我正在尝试计算从 Upwork 中扣除费用后的总金额。我找到了这个网站,但我想使用 Python 制作它。以下是 Upwork 的指南:
来自客户的 0-500 美元收入:收入收取 20% 的服务费。
500.01-10,000 美元的客户收入:10% 服务费。
来自客户的收入为 10,000.01 美元或以上:5% 服务费。
代码:
budget = int(input("Enter the price (USD): $"))
if 0 <= budget <= 500:
cut = int((20/100)*budget)
budget = budget - cut
elif 501.01 <= budget <= 10000:
cut = int((10/100)*budget)
budget = budget - cut
elif budget >= 10000.01:
cut = int((5/100)*budget)
budget = budget - cut
print(f'Total price after Upwork Fee is ${budget}.')
根据 Upwork 的说法,
对于有新客户的 600 美元项目,您的自由职业者服务费将为前 20 美元的 500% 和剩余 100 美元的 100%。您的费用后收入为 490 美元。
我制作了这个计算器,但它仅适用于第一个条件。如果预算是,我会得到,但在这里我得到了.有人可以帮我解决哪里出了问题吗?$0-$500 in earnings
$600
$490
$540
--更新--
我也试过这个,但没有用:
budget = int(input("Enter the price (USD): $"))
a = 0 <= budget <= 500
b = 501.01 <= budget <= 10000
c = budget >= 10000.01
cut1 = int((20/100)*budget)
cut2 = int((10/100)*budget)
cut3 = int((5/100)*budget)
if a:
cut = cut1
budget = budget - cut
if a and b:
cut = cut2
budget = budget - cut
if a and b and c:
cut = cut3
budget = budget - cut
print(f'Total price after Upwork Fee is ${budget}.')
答:
1赞
Mustafa Fatih Şen
3/31/2022
#1
budget = int(input("Enter the price (USD): $"))
def discount(money,percent):
cut = int((percent/100)*money)
money= money- cut
return money
if 0 <= budget <= 500:
budget = discount(budget ,20)
elif 500.01 <= budget <= 10000:
budget2 = discount(500 ,20)
budget = discount(budget-500 ,10)
budget = budget + budget2
elif budget >= 10000.01:
budget3 = discount(500 ,20)
budget2 = discount(10000 ,10)
budget = discount(budget-10500 ,5)
budget = budget + budget2 + budget3
print(f'Total price after Upwork Fee is ${budget}.')
评论
0赞
3/31/2022
这里似乎只有最后一个条件有问题。因为如果总预算是 ,它应该给出,但你的方法给出 .你能更新一下吗?elif
$10500
$9425
$9400
1赞
H.A.H.
3/31/2022
#2
如果我理解正确的话,这里有两件事是错误的:
- 你从预算中减去削减。
- 将切割应用于最大值,而不是“diapason”值。
我的猜测是你需要像这个pesudo代码这样的东西:
if budget > 0
cut+= 0.20*MIN(Budget, 500)
if budget > 500
cut+= 0.10*MIN(Budget-500, 9500) // We already applied the cut to the first 500
if budget > 10000
cut+= 0.05*(Budget-10000) // we already applied a cut to the first 10000
所以:
- 不要修改预算
- 累加切割
- 最后减去它。
评论