计算圆周,面积和圆周与圆的面积之比

时间:2014-02-07 13:21:37

标签: python

学习CS测试,基本上我必须遵循与此类似的说明。

  

编写程序,即包含main函数的文件   调用main,并将程序命名为ratio.py。基本结构   该程序应如下所示:

def main():
    ...
    return

main() where the ellipsis indicates where you should place the code that performs following computations:
     

- 你应该提示用户输入一个对应的整数值   圆的半径。使用类似的代码执行此操作:               radius = int(输入(“圆半径?”))

     
      
  • 使用公式c =2πr计算圆的圆周,其中r是半径,c是圆周。使用的值   3.14159forπ
  •   
  • 使用公式c =πr2
  • 计算圆的面积   
  • 打印周长与面积的比率(a与b的比率除以b)
  •   

这是我到目前为止所写的内容。我得到了圆周和面积,但我如何得到两者之间的比率并打印比率。

def main():
   radius = int(input("circle radius? "))
   pi = 3.14159
   r = radius
   c = 2*pi*r
   print(2*pi*r)
   a = pi*r*r
   print(pi*r*r)
   ratio = c / a
   return(ratio)
   print("the ratio of the circumference to the area is",ratio)
main()          

最终目标是得到这样的东西:

  • $ python3 ratio.py

  • 圆半径? 2

  • 周长与面积之比为????
  • 其中????被实际比率取代。

2 个答案:

答案 0 :(得分:1)

你非常接近解决这个问题。以下是一些帮助您完成它的想法:

  1. import语句通常应位于文件的顶部,而不是位于函数内部。他们将在函数中工作,但它的形式很差。这可能不是在课堂上讲授的,但是当你阅读其他人的代码时,你习惯于看到特定的模式。

  2. 作为一种风格,Python通常使用大写字母表示常量名称,因此PI=3.14159比pi = 3.14159更常见。这是次要的,无论哪种方式都有效。这是一种很好的风格,因为它有助于使您的代码与其他人的代码相匹配。

  3. 您需要使用给出的公式计算面积:a = PI * r * r(注意 - 原始问题错误地使用'c'表示区域。'c'表示周长。)< / p>

  4. 您需要返回c / a,这是请求的比率。

  5. 您可能需要打印出测试的返回值。您可以通过将main()返回的值存储在变量中然后打印它来实现。

  6. 以下是如何从main()函数返回一个值:

    def main():
        ...
        return c/a
    
    ratio = main()
    print(ratio)
    # or...
    print("The ratio is:", ratio)
    

答案 1 :(得分:0)

当你将pi声明为两行以上的变量时,你做c = (2*math.pi*r)是很奇怪的。做math.pi进入python的数学库并挖掘更准确的pi版本。出于所有意图和目的,您只是完全没有使用pi变量。 有关详细信息,请参阅http://docs.python.org/2/library/math.html

此外,您执行两次相同的计算。

c = 2*math.pi*r
return(2*math.pi*r)

c最终被垃圾收集(也就是说,计算机完成计算然后进入垃圾收集)并且从未被使用过。简单地return c

会更好

对于作为初学者我确定你不会真正了解的范围问题,将import math放在主函数上方,缩进。

仅供将来参考,因此,您可能会遇到代码中发现的孤立问题;不是完整的代码审查。一个更可接受的问题是“我的功能正在返回一个意想不到的值”,而不是“我的功能不起作用”