创建用于计算含税价格的函数

时间:2016-05-22 13:33:19

标签: python

所以我遇到了一个问题,我有一段有效的代码,但只有在不与Function一起使用时才有效。

完整的故事是,我必须创建一个程序,要求提供文件(包含不含税的价格。例如39,15,56,19,122,31,78)。然后它要求用户插入销售税,然后加税免税。

代码如下所示:

 filename = input("Please insert filename: ")
 salestax = int(input("Please insert % of sales tax: ")
 taxfree = int(input("Please insert sum of tax-free: ")

 file = open(filename)
 sum = 0
 for line in file:
     sum += float(line) * (1 + salestax/100)
 file.close()
 sum = round(sum, 2)
 print("Total with taxes " + str(sum))

但问题是当我尝试用Function创建相同的代码块时,它不会起作用。这不会是一个问题,但一个标准是必须使用一个函数来计算税收。

还有一件事。我怎么能用增加的销售税来总结数字呢?例如,该文件包含价格:6,17,79,200,54,36。并且插入免税是35.然后我向他们添加销售税,我需要回报总和只有大于插入的价格免税号码。

我使用了IF语句和> = taxfree,但它仍然给了我总和也有较小的数字或0 - 之间没有任何东西

1 个答案:

答案 0 :(得分:0)

所以我得到了它,并认为我也在这里发布答案:

def price_withTax(price_withoutTax, percent):
    return float(price_withoutTax) * (1+percent/100)

filename = input("Please insert filename: ")
salestax = int(input("Please insert % of sales tax: ")
taxfree = int(input("Please insert sum of tax-free: ")

sum = [] 
file = open(filename)
for line in file:
    sum += [price_withTax(line, salestax)]
file.close()

total = 0
totalWithTax = 0
for line in sum:
    total += line
    if line >= taxfree:
       totalWithTax += line

tax = totalWithTax - totalWithTax/(1 + salestax/100)

total = round(total, 2)
tax = round(tax, 2)

print(“Total with taxes “ + str(total))