money + 2是无人操作。您实际上必须分配
money一个新值
money = money + 2# ormoney += 2
但是随后您会发现您遇到了一个错误-您无法将其分配给函数范围之外的变量。您可以使用
global关键字:
global moneymoney += 2
这将允许您更改
money函数内的值。
但是,推荐的方法是
money作为参数传递:
def gainM(money): money += 2 Stats() return moneyif money == 1: money = gainM(money)
如果您使用的是第二个选项(应该使用),则还需要更改
Stats函数以具有
money参数。
def Stats(money): print print "money " + str(money)
否则,将打印功能
1而不是
3。
另一个建议-使用字符串格式。
'money %d' % money # the old way'money {}'.format(money) # the new and recommended way现在,您传递
money给
Stats函数。
def gainM(money): money += 2 Stats(money) return money



