【问题标题】:Displaying tax total and total using purchase price? Python programming使用购买价格显示税收总额和总额? Python 编程
【发布时间】:2012-09-24 17:11:32
【问题描述】:
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%)原始购买的金额,总销售税(县税加州税),最后是销售总额(即原始购买金额加上总销售税的总和)。

【问题讨论】:

    标签: python


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

    • ohhh ic...我该如何更改它以执行我想要的不是函数的操作?但按照我正在尝试的方式(即:x*.02 x*.04 等)?
    • @user1693293 - 你所拥有的几乎没有问题,但你需要调用 input() 函数来获取用户的输入。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

      你的意思是调用输入函数

      x = input()
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-18
          • 1970-01-01
          • 2016-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-17
          • 2013-11-22
          相关资源
          最近更新 更多