2017-11-15 5 views
0

このコードでは、いくつかの変数をグローバルにすることに問題があります。出力される数値は4,8,6,10としたい。関数は数値を処理しないように、常に1,2,3、および4だけの出力となる。関数の前後、各変数をグローバルにしようとしましたが、これは機能しませんでした。誰かがこれに対する解決策を持っていれば、それは非常に感謝します。私のプロジェクトのための私の実際のコードはいくつかの変数のペアを持っています、私はそれを単純化するためにこれらを含んでいます。Python:異なるパラメータをグローバルにする

Xone = 1 
Yone = 2 
Xtwo = 3 
Ytwo = 4 
def function(parameterOne, parameterTwo): 
    parameterOne = parameterOne + 3 
    parameterTwo = parameterTwo + 6 
function(Xone, Yone) 
function(Xtwo, Ytwo) 
print str(Xone) 
print str(Yone) 
print str(Xtwo) 
print str(Ytwo) 
+1

どのような種類のものを使用できますか?関数内のこれらの変数には何もしません。 –

+0

パラメータをグローバルにすることはできません。 –

+0

もちろん可能です。 OPが不変型を使用しているということだけです。 'Xone = [1]'とし、 'function'をparameterOne [0] = parameterOne [0] + 3.Xone == [4]に変更します。 – cowbert

答えて

0
関数からの戻りの変数へ

値を割り当てます:

def function(parameterOne, parameterTwo): 
    parameterOne = parameterOne + 3 
    parameterTwo = parameterTwo + 6 
    return parameterOne, parameterTwo 

Xone, Yone = function(Xone, Yone) 
+0

このヘルプありがとうございます。これは私の質問に答える。私は私のプロジェクトでこれを使用することができ、それは動作します!私は本当に助けに感謝します。 – Darthflippo

0

あなたは計算値を返すことができます。

def function(parameterOne, parameterTwo): 
    return (parameterOne + 3, parameterTwo + 6) 

Xone = 1 
Yone = 2 
Xtwo = 3 
Ytwo = 4 

Xone, Yone = function(Xone, Yone) 
Xtwo, Ytwo = function(Xtwo, Ytwo) 

print str(Xone) 
print str(Yone) 
print str(Xtwo) 
print str(Ytwo) 

これが返されます。

4 
8 
6 
10 
+0

このヘルプありがとうございます。これは私の質問に答える。私は私のプロジェクトでこれを使用することができ、それは動作します!私は本当に助けに感謝します。 – Darthflippo

関連する問題