使用购买价格显示税金总额和总额? Python编程

时间:2012-09-24 03:03:54

标签: python

print ("What is/was your original purchase price?")
x = input
valx=float(x)

print ("Amount of original purchase: ${}"
   .format(valx))
print ("State sales tax on original purchase: ${}"
   .format(valx*.04))
print ("County sales tax on original purchase: ${}"
   .format(valx*.02))
print ("Total sales tax (county and state): ${}"
   .format(valx*.06))
print ("Total of the sale (original purchase and total sales tax): ${}"
   .format(valx*.06))

这对我来说很有意义,过去我使用过这种方法,但现在不行。

Output error: line 9, in <module>builtins.TypeError: float() argument must be a string or a number

基本上我的目标是显示原始购买金额,原购买的州销售税金额(4%),县销售税金额(2%)原始购买金额,销售税总额(县税和州税),以及最终的销售总额(即原购买金额加上销售税总额的总和)。

4 个答案:

答案 0 :(得分:3)

您正在为变量x

分配功能
x = input
>> x
<built-in function input>

所以你没有给float()函数一个字符串或数字,而是一个函数。

我认为你要做的是调用 input()函数。您也可以将信息整合到其中。

x = input ("What is/was your original purchase price?")

或者,如果您使用 python 3 或更高版本,则需要将输入从字符串转换为float (或整数,或您想要的任何类型)。 ):

x = float(input("What is/was your original purchase price?"))

答案 1 :(得分:0)

据推测,您认为我们不需要看到6行。它使第9行谈论有点无用。

当然你的意思是调用输入函数

x = input()

答案 2 :(得分:0)

从命令行检索输入的方法是:

valx=float(input("What is/was your original purchase price?"))

input是一个字符串,您可以通过包装该调用将其转换为float。然后,您不需要额外的变量。

答案 3 :(得分:0)

出于安全原因,您应使用raw_input()代替input()。后者与eval(raw_input(prompt))相同,而eval与邪恶并不远:)