2016-08-30 11 views
-1

私は巨大な初心者ですが、値を持つ変数を持っています。関数内で変数を変更したいので、関数の外に変数が永久に変更されています。 。私は外部変数にアクセスする方法についていくつかの情報を見つけましたが(グローバル変数と呼ばれると思いますが)、永続的に変更することはありません。関数内で外部変数を永続的に変更する

ここにコードを少し、それは私がやろうとしている何であるかを表します:

x = 0 

def variableChanger(): 
    global x 
    x =+ 1 

variableChanger() 
print(x) 
variableChanger() 
print(x) 
variableChanger() 
print(x) 

アイデアは、それはコンソール出力を持っているだろうということですが...

>>> 1 
>>> 2 
>>> 3 

グローバル変数xに変数を1つ追加して変更しているためです。しかし、その代わりに、それはxと呼ばれる新しいグローバル変数を作成し、それが1に値だ私はvariableChanger()機能を実行し、私はちょうどで終わるたびに設定されて...

>>> 1 
>>> 1 
>>> 1 

私は何をしたいがアクセスしています変数xがコードの先頭にあり、それをインクリメントするので、後でいつでもどこでもアクセスできます。

これを行う方法はありますか?

答えて

0

ザ+記号が間違った側にあります。それはこのように左にする必要があります:単純に+1を超えるとオーバーの値にXを代入され

def variableChanger(): 
    global x 
    x += 1 

何をやっています。それはちょうど1に割り当てられ続けています。

+0

私はそれが何か簡単だと思った。私は軽度の失読症を持っているので、私はそのようなことを頻繁に逃す傾向があります。ありがとうございました! – jumpsplat120

2

あなたはを毎回xに再割り当てします。 x =+ 1 != x += 1x =+ 1x1に割り当てます。 x += 1augmented assignment statement、1つインクリメントx:代入演算子における

x = 0 

def variableChanger(): 
    global x 
    x += 1 

variableChanger() 
print(x) 
variableChanger() 
print(x) 
variableChanger() 
print(x) 
+0

おかげで、私は 'x = + 1'これは変数に値を割り当てることを知りませんでした、ああ、私はこのようなx =(+1)変数に1を割り当てる。 –

関連する問題