无法在函数

时间:2017-10-20 14:27:12

标签: python

我想制作一个猜谜游戏,如果有人猜到正确的数字,他们会得到硬币。当我创建一个名为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()

2 个答案:

答案 0 :(得分:1)

避免全局变量。当函数需要值时,将其作为参数传递。

# Definition
def guess_home(coins):

# Call site
guess_home(coins)

答案 1 :(得分: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()