2015-05-17 40 views
-2

通過分數函數添加三個變量python中的調用函數3

如何調用我的函數?在這裏我想添加所有三個變量。爲什麼不顯示輸出?

def score(x,y,z): 
     x == 1 
     y == 2 
     z == 3 
     return (x+y+z) 
+3

忽略使用''==而不是'=',你爲什麼會分配給參數的功能等內部那? – chepner

回答

1

這是x = 1...====是比較=是分配。

def score(): 
    x = 1 
    y = 2 
    z = 3 
    return (x+y+z) 

然後:

print(score()) # -> 6 

如果你想傳遞的價值是:如果你想測試的是某些電話號碼通過你會使用==

def score(x,y,z): 
    return (x+y+z) 

print(score(1,2,3)) # -> 6 

def score(x, y, z): 
    if x == 1 and y == 2 and z == 3: 
     return x + y + z 

Tha t檢驗如果x等於 1且y是等於到2,z爲等於至3

甲更符合邏輯值分配給XY和z將是給的x,y和z的原因默認值:

def score(x=1, y=2, z=3): 
    return x + y + z 

所以主叫print(score(4))將作爲x輸出9將等於並用於4 yz的默認值。

+0

感謝您的答案。現在如果x有多個值,例如這裏我已經分配了x = 1,但是讓我們說如果要分配x = 5,並且x = 4,並且我想在最後添加它們以獲得最終分數。我該怎麼做呢? –

+0

@Bikramjit,你不能有多個具有相同名稱的變量,一旦你重新賦值'x',舊值就會丟失。 –

+0

@ Padraic再次感謝您的及時回覆。我有一個問題,寫一個函數,其中有許多陳述。每次如果陳述是正確的,我需要添加1其他-1,最後我必須打印總分。我可以用一個變量來做它。希望你明白我的問題。 –

1

你不是分配值,只是檢查布爾值。

而且,即使您在函數中指定了x,y,z,請確保在調用它時包含參數。然而,無論你傳遞什麼參數,你的結果總是6,因爲你正在改變它們在函數中的值。

所以要用成績應該是:

def score(x,y,z): 
    return (x+y+z) 

,或者,如果你想有一個常量之一:

def score(): 
    x = 1 
    y = 2 
    z = 3 
    return(x+y+z) 
1

您應該定義參數,第一:

def score(x,y,z): 
    return (x+y+z) 

print(score(1, 5, 2)) 

輸出:7

如果你想得到恆定的分數,你甚至不應該把任何參數放在首位。您也使用= =而不是=

def score(): 
    x = 1 
    y = 2 
    z = 3 
    return (x+y+z) 

print(score()) 

輸出:6

1

在Python中,有使用了=字符:如果你一個人使用它,它是一個任務:

>>> a = 8 
>>> print(a) 
8 

另一種是一個測試,它返回一個布爾值,True或False:我們用它來測試一個變量是否等於另一個:

>>> 1 == 2 
False 
>>> 1 == 1 
True 
>>> a = 1 # Here, it's an asignment 
>>> b = 1 
>>> a == b 
True 
>>> b = 2 
>>> a == b 
False 

在您的代碼中,您使用測試:因此,變量x,y和z不會被修改。相反,您必須寫:

高清得分(X,Y,Z): X = 1 Y = 2 Z = 3 回報(X + Y + Z)

,如果你要分配1 ,2和3到x,y和z。但請注意,在這種情況下,三個參數是沒用的:這個功能很簡單:

def score(x, y, z): 
    return (1 + 2 + 3)