学习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
答案 0 :(得分:1)
你非常接近解决这个问题。以下是一些帮助您完成它的想法:
import
语句通常应位于文件的顶部,而不是位于函数内部。他们将在函数中工作,但它的形式很差。这可能不是在课堂上讲授的,但是当你阅读其他人的代码时,你习惯于看到特定的模式。
作为一种风格,Python通常使用大写字母表示常量名称,因此PI=3.14159
比pi = 3.14159更常见。这是次要的,无论哪种方式都有效。这是一种很好的风格,因为它有助于使您的代码与其他人的代码相匹配。
您需要使用给出的公式计算面积:a = PI * r * r(注意 - 原始问题错误地使用'c'表示区域。'c'表示周长。)< / p>
您需要返回c / a,这是请求的比率。
您可能需要打印出测试的返回值。您可以通过将main()返回的值存储在变量中然后打印它来实现。
以下是如何从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
放在主函数上方,缩进。
仅供将来参考,因此,您可能会遇到代码中发现的孤立问题;不是完整的代码审查。一个更可接受的问题是“我的功能正在返回一个意想不到的值”,而不是“我的功能不起作用”