2017-10-20 122 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

这是一个不同的问题。 –