Python:模块化编程从圆半径中找到圆周,直径和面积

时间:2013-04-17 09:20:15

标签: python

我必须创建一个模块化程序,可以找出圆半径的直径,圆周和面积。我相信很多人都会注意到我从老师那里得到的一个例子。而不是人们指出我编码错误的事实,请你告诉我应该做什么的理由,这样我就能更好地理解这个概念。谢谢

def main():
    Radius = 0
    Diameter = 0
    Circumference = 0
    Area = 0


    Radius = GetRadius(Radius)
    Diameter = SetDiameter(Radius,Diameter)
    Circumference = SetCircumference(Radius,Circumference)
    Area = SetArea(Radius,Area)
    ShowResults(Radius,Diameter,Circumference,Area)


def GetRadius(myradius):
    myradius = float(input("Enter your radius: "))
    return myradius

def SetDiameter(myradius,mydiameter):
    mydiameter = myradius * 2
    return mydiameter

def SetCircumference(myradius,mycircumference):
    PIE = 3.14159
    mycircumference = 2 * PIE * myradius
    return mycircumference

def SetArea(myradius,myarea):
    PIE = 3.14159
    myarea = PIE * myradius ^ 2
    return myarea

def ShowResults(Radius,Diameter,Circumference,Area):
    print("The Diameter is",mydiameter)
    print("The Circumference is",mycircumference)
    print("The Area is",myarea)

main()

2 个答案:

答案 0 :(得分:0)

myarea = PIE * myradius ^ 2

在Python中,取幂运算符为**

myarea = PIE * myradius ** 2

(事实上,不要指望^在编程语言中会被取幂。它通常是按位xor运算符。)

答案 1 :(得分:0)

我建议您首先删除要从参数列表中返回的参数:

def SetDiameter(myradius,mydiameter):
    mydiameter = myradius * 2
    return mydiameter

应该是

def SetDiameter(myradius):
    mydiameter = myradius * 2
    return mydiameter

如果从函数返回值,则不需要将其包含在参数列表中。这对于理解python是如何工作非常重要。

我不知道你原来的任务是什么,但提高你的技能和这个简短程序的最好方法可能是添加一个圆圈类。你一定要读这个: http://docs.python.org/2/tutorial/classes.html