Python2.7 /混淆变量

时间:2014-11-23 06:34:47

标签: python python-2.7

initial_p = input("Enter the initial point")

def game():
    x = 1
    guess = input("Guess value")
    if guess == 1:
        initial_p += 2
    else:
        initial_p -= 2

game()

replay = raw_input("Do you want to try it again? Y/N")
if replay == 'Y':
    game()

每场比赛需要2分

我只是简单地解释这个东西真的很简单

所以要玩每个游戏,它需要你至少有2分,否则它会变成游戏结束 如果你猜对了,你就赚2分 如果没有,你会失去2分。

结果(分数),您可以再次玩或退出

如果再次玩,你需要支付两分

然而,当你第二次或更多次玩时,该行

initial_p += 2initial_p -= 2仍然包含您在开头输入的内容

我现在很困惑,我甚至无法正确解释

但如果您理解我的解释,请帮助我

谢谢

1 个答案:

答案 0 :(得分:0)

快速而肮脏的响应是更改为以下内容。

def game(initial_p):
    #Your Code
    return initial_p


initial_p = game(initial_p)

基本上,您将全局变量作为局部变量放置并重新分配全局变量。

这也应该发生在最底层。

此外,您可以只询问函数内部的输入,并使用默认参数initial_p

例如,

def game(first_time=True)
    #Ask for input with if first_time:
    return initial_p

并从返回中修改一些全局点值或其他内容。

对不起,如果这很草率,写在我的手机上。