python挑战帮助解决它

时间:2013-10-14 18:46:38

标签: python

我今天在这里报名的原因是要求提示我在这个论点中出错的地方。我对编码很新,并希望我能得到一些帮助。我觉得我有点欺骗自己这么早就请求帮助,所以如果有人可以解释我犯错的地方,我想尝试找出如何纠正它们,线索和提示会受到赞赏,但我真的很喜欢要了解错误在哪里纠正它们以及为什么这样做,所以请不要只是粘贴答案。感谢

好的,这是我尝试编写汽车销售员计划,用户输入汽车的基本价格。该计划应添加一些额外的费用,如税,许可证,经销商准备和目的地费用。使税和许可证占基准价格的百分比。其他费用应设定值。一旦应用了所有附加功能,显示汽车的实际价格。

    base_price = float(input("please enter base price of car",))

    taxes *=0.06
    float(input(taxes))
    licence *= 0.01
    float(input(licence))

    premium_pack += 1250
    print("premium pack + 1250")

    total_price = base_price + premium_pack + taxes + licence

    print("\n\total price:", total_price))

    input("\n\npress enter key to exit")

我上次运行该程序时出现名称错误

    taxes *= 0.06
    NamError: name 'taxes' is not defined

o.k。我希望这些信息可以帮助您并提前感谢您的时间

亚历

5 个答案:

答案 0 :(得分:4)

taxes*=0.06taxes = taxes * 0.06的简写。你还没有定义。我认为你真正打算写的是

taxes = base_price * 0.06

但是这个程序还有其他问题。

答案 1 :(得分:1)

您似乎不清楚*=+=运营商的行为。你想要的是分配 taxes(和其他变量)一些等于base_price * 0.06的值,依此类推。使用=运算符为变量赋值(就像在第一行中所做的那样),并使用*运算符将两个值相乘(例如base_price * 0.06)。

你在几个地方遇到过这个问题,以及我认为你不知道input function做什么的问题:如果你只是想显示一个值,你应该使用{{ 3}}

我强烈建议您浏览print function。他们做得很好,涵盖了这类东西。

答案 2 :(得分:1)

tax * = 0.06是tax = taxes * 0.06的简写,即税的新值是旧税的0.06倍。因此,口译员抱怨说,在右手边使用税前,你还没有确定税款。

大概你想要的是:

taxes = 0.06 * base

taxes = 0.06 * float(raw_input('Enter amount to be taxed'))

答案 3 :(得分:0)

  1. 您错误地使用了*=+=语句。
  2. 除非您之前已定义taxes *=0.06,否则无法使用taxes语句。 licencepremium_pack的情况也是如此。
  3. 此外,语句float(input(taxes))错误,您需要将字符串作为参数传递给它。 (http://docs.python.org/3/library/functions.html#input
  4. 接下来,如果您使用的是python 2.7,则输入语句的使用不正确 - 您应该使用raw_input。 (https://stackoverflow.com/a/3800862/1860929
  5. print("\n\total price:", total_price))声明
  6. 中有一个额外的结束括号
  7. 您在\之后使用了额外的\n,因此,t总计将被转义。
  8. 最后,您需要检查逻辑本身。正如@Wayne在他的回答中指出的那样,你可能想做taxes = base_price * 0.06而不是taxes = taxes * 0.06
  9. 检查以下代码,我认为您正在寻找类似的

    base_price = float(raw_input("Please enter base price of car",))
    
    taxes = 0.06 * base_price
    print("Taxes: %s" %taxes)
    
    licence = 0.01 * base_price
    print("Licence: %s" %licence)
    
    premium_pack = 1250
    print("premium pack: 1250")
    
    total_price = base_price + premium_pack + taxes + licence
    
    print("\ntotal price: %s" %total_price)
    
    raw_input("\n\npress enter key to exit")
    

答案 4 :(得分:0)

taxes *= 0.06表示taxes = taxes * 0.06。 Python告诉你它不知道税的价值是什么(因为你还没有给它赋值)。

licencepremium_pack有同样的问题。