1
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

4 回答 4

3

您正在为变量分配一个函数x

x = input
>> x
<built-in function input>

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

我认为您要做的是调用input()函数。您还可以将您的消息集成到其中。

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

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

x = float(input("What is/was your original purchase price?"))
于 2012-09-24T03:06:02.310 回答
0

出于安全原因,您应该使用raw_input()而不是input(). 后者与 eval 一样,eval(raw_input(prompt))离邪恶不远:)

于 2012-09-24T09:11:32.307 回答
0

大概上面有 6 行您认为我们不需要看到。不过,这使得谈论第 9 行有点没用。

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

x = input()
于 2012-09-24T03:06:55.780 回答
0

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

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

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

于 2012-09-24T03:08:26.433 回答