我想編寫一個函數來比較兩個值val1和val2,並且如果val1大於val2,請向a_points添加1個點(將其想像爲團隊A),反之亦然(如果val2較大,則向b_points添加一個點。) 如果這兩個值都是偶數,我不會將任何點添加到a_points或b_points。Python - 函數不返回值
我的問題是test_val不會返回a_points或b_points的值。
a_points=0
b_points=0
def test_val(a_points,b_points,val1,val2):
if val1 > val2:
a_points+=1
return a_points
elif val2 > val1:
b_points+=1
return b_points
elif val1==val2:
pass
Here's a link to a visualization showing the problem.
如您的可視化所示,函數內部的「a_points」和「b_points」與全局變量不同。因此,在函數內修改它們將不會修改全局函數。您可能對'global'關鍵字(又名add'global a_points,b_points')或'return'關鍵字感興趣。 – xZise