2017-10-20 6 views
-3

誰かが正しい数を推測してコインを受け取ると推測ゲームをしたい。 guess_home(ホーム画面として機能する)という関数を作成すると、メインファイルの変数にアクセスすることができません。私は2つのファイルを使用しています.1つはメインコード用で、もう1つはスペースを節約するためのすべての機能用です。メインコードで変数を作成したとき、関数コードで変数にアクセスできません。私は両方のファイルで変数を使用できるようにする方法があるのだろうかと思っていましたか?関数内で変数を使用できない

メインコード:

from guessing_functions import guess_game, guess_home 

coins = 0 

q1 = input("Wanna play a game? ") 
if q1 == "ya": 
    guess_game() 
    coins += 5 

guess_home() 

機能:

def guess_home(): 
    main_q = input("Type 'coins' to see you coin balance, or 'again' to play again") 
    if main_q == "coins": 
     print ("Your coins balance is: " + coins) 
    if main_q == "again": 
     guess_game() 
+0

"guess_home"と ":"の間のそれらの曲がりくねったものは何ですか? – Acccumulation

答えて

0

あなたは、パラメータとして変数を渡す必要があります。 intを渡す場合は、それを印刷する前に型キャストする必要があります:

def guess_home(coins): 
    main_q = input("Type 'coins' to see you coin balance, or 'again' to play again") 
    if main_q == "coins": 
     print ("Your coins balance is: " + str(coins)) 
    if main_q == "again": 
     guess_game() 
1

グローバル変数を避けてください。関数に値が必要な場合は、引数として渡します。

# Definition 
def guess_home(coins): 

# Call site 
guess_home(coins) 
+0

私はそうすると、硬貨はintでなく文字列でなければならないと伝えています。 – Logster

+0

それは別の問題です。 –

関連する問題