2013-04-17 41 views
0

我必須創建一個模塊化程序,可以找出圓圈半徑的直徑,圓周和麪積。我相信你們中的許多人可以注意到我從我的老師給出的例子中得到了這樣的結果。而不是人們指出我編寫這個錯誤的事實,你可以給我理由我應該做什麼,這樣我可以更好地理解這個概念。由於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() 
+0

嘗試http://codereview.stackexchange.com – Mark

+0

當發佈提問,請記住以下幾點:如果代碼的工作,但你要找別人的意見如何爲了使它更好,請使用codereview,正如Mark指出的那樣。如果代碼無法正常工作,並且需要幫助瞭解它爲什麼不起作用,那麼請顯示一個看起來不正確的輸入/輸出示例,以及您期望得到的正確輸出是什麼。現在,您的問題措辭的方式,我不確定您是否希望看到如何改進正確的代碼或找到不正確的代碼有問題。 –

回答

0

myarea = PIE * myradius^2

在Python,冪運算符是**

myarea = PIE * myradius ** 2

(事實上,不要指望^永遠是一種編程語言冪,通常是按位異或運算符。)

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