2017-08-06 418 views
0

我明白這些問題,但我不確定的事情是它說「使用函數」的部分。 這裏是我的代碼,並懷疑它是否可以接受;編寫一個程序,使用函數找出兩個數字的總和並計算它們的平均值?

x= int(input("Enter first number:")) 
y= int(input("Enter second number:")) 
sum=x+y 
average=sum/2 
print("Sum of the given two numbers is:", sum) 
print("Average of the given numbers is:", average) 
+0

你可能希望創建功能平均水平。 'def sum(x,y):x + y;''和'def average(x,y):sum(x,y)/ 2;'順便說一句,StackOverflow並不是真正意圖爲你解決你的學業問題,而是一種資源來幫助你發現問題的解決方案。另外,如果您使用python 3.4,則可以使用statistics.mean並將這些數字放入數組中。 – Tr1gZer0

+0

'int'是一個函數。 「輸入」和「打印」也是如此。儘管如此,你應該避免使用像sum這樣的內建函數名稱。 – miradulo

回答

0

功能是可重複使用的一塊程序。所以,你應該編寫函數,以便以後可以使用它們。假設你需要計算某件事物的平均速率,那麼你需要avg函數來得到平均值(不打印它),然後按時間除以得到速率。但是你的代碼將不必要地打印總和和平均值。所以,最好的做法是計算函數中的值並返回它們而不是在那裏打印它們。

另一點,您可以互換地使用變量num1a。沒有必要使用它們兩個。您可以在輸入語句中直接使用a。同樣,對於num2b,請直接使用b

而且,如果您使用的是python 3.x,則可以使用//運算符將除法結果作爲整數(向下取整爲最接近的整數)。

因此,可以將代碼修改爲:

def sum(x,y): 
    return x+y 

def avg(x,y): 
    return sum(x,y)//2 

a= int(input("Enter first number:")) 
b= int(input("Enter second number:")) 

print("Sum of the given two numbers is: ", sum(a,b)) 
print("Average of the given numbers is: ", avg(a,b)) 
0

感謝Tr1gZer0的評論,我想我找到了代碼。

def sum(x,y): 
    ans = x+y 
    return ans 

def avg(x,y): 
    avge = sum(x,y)/2 
    average = int(avge) 
    print("Sum of the given two numbers is:", sum(x,y)) 
    print("Average of the given numbers is:", average) 

num1 = int(input("Enter first number:")) 
a = num1 
num2 = int(input("Enter second number:")) 
b = num2 

sum(a,b) 
avg(a,b) 
相關問題