2017-10-20 168 views
-3

我想做一個猜謎遊戲,如果有人猜測他們得到硬幣的正確數字。當我創建一個名爲guess_home的函數(充當主屏幕)時,我無法訪問主文件中的變量。我使用兩個文件,一個用於主代碼,另一個用於所有功能以節省空間。當我在主代碼中創建一個變量時,我無法在我的函數代碼中訪問它。我想知道是否有一種方法可以讓我在兩個文件中使用變量?功能中不能使用變量

主要代碼:

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

這是一個不同的問題。 –