【问题标题】:Calculate the cost per square of a circular object计算圆形物体的每平方成本
【发布时间】:2013-07-30 11:30:14
【问题描述】:

考虑到圆形物体的直径和价格,我正在尝试计算其每平方的成本。

这是我得到的:

import math

def main():
    print("This program calculates the cost per square inch of a circular object.")

    diameter = eval(input("What is the diameter of the object? "))
    price = eval(input("What is the price of the whole object? "))

    cost_per_square = (math.pi * (diameter / 2)**2) / price

    print("The cost per square inch is $", round(cost_per_square, 2), sep="")

main()

我数学不好,所以想知道公式是否正确?

【问题讨论】:

  • 我想警告您不要调用 eval(input()) - 用户可以输入一些有效的 python 代码,它将在评估过程中执行。使用 float(input()) 更安全
  • 谢谢我不知道,我刚刚开始使用 Python。
  • 这个问题似乎是题外话,因为它是关于数学,而不是编程。
  • 数学?这是一个高中代数公式。如果你真的阅读了代码,这个问题很大程度上是一个编程问题,而不是数学问题。
  • @onimoj:关于@SteveBarnes 的疑虑:如果您曾经切换到Python2.x,请记住input 会评估自己(您必须使用raw_input 来防止这种情况发生)。

标签: python math python-3.x geometry


【解决方案1】:

是的,圆的面积公式是 A = π * r * r。

price 应该在分子中,area 在分母中。您已经编写了 inverse - 每单位成本的平方英尺。想想你想要的单位:每平方英尺的成本。这将为您提供指导。

我建议将diameter 除以 2.0 而不是 2,以避免整数除法问题。

【讨论】:

  • 如果你使用 π,你不应该害怕使用 ² ;-)
  • 害怕吗?不,只是无知。不在我的舌尖上。标记是什么?请编辑。我对谷歌太懒了。
  • 感谢您的澄清:)
  • 我只需输入 compose key ^ 2 即可获得它。我不知道有什么标记。
  • @duffymo 我不能接受它,因为它太新了。现在好了:)
【解决方案2】:

我还建议先用专有名称计算中间值。这通常可以从一开始就防止错误:

radius = diameter / 2.0
area = math.pi * radius**2
price_per_area = price / area

您可能还注意到我更喜欢“价格”而不是“成本”和“面积”而不是“平方”。这是因为可互换使用同义词也会引入错误空间。现在所有三行都非常简单,以至于很难介绍您首先犯的错误。

【讨论】:

  • +1 - 好名字很重要。好点。只有一个小问题:将直径除以 2.0 以避免整数除法问题。
  • @duffymo - 同意,好名字非常重要。一个 meta-quibble,这个问题被特别标记为 python-3 where 5/2 == 2.5 但是为了可移植性和可读性,你的建议可能是好的做法。
【解决方案3】:

求圆面积的公式是pi*r*r。要获取每平方英寸的成本,请执行以下操作:price / area

【讨论】:

    猜你喜欢
    • 2011-10-05
    • 2011-03-09
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多