“总计”在我第一次运行该函数时发生了变化,但没有返回新的总计值,所以当我再次运行它时,它的值与我第一次运行它之前的值相同吗?total = card[1].valuedef hit(total): #print (str(hit.counter)) print("You draw the " + string(card[hit.counter])) total = total + card[hit.counter].value print(str(total)) hit.counter += 1 return hit.counter return total该函数在此处调用:choice = raw_input("\n1. Hit\n2. Stay\n") if (choice == "1"): hit(total)这是同样的问题简化x = 1def call(x): x = x + 1 print x return xcall(x)每次运行它都会输出 2 并且不会更新“x = x + 1”的新值
3 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
您有一个名为total
. 您还有一个名为total
.
当您在函数中时,局部变量total
会影响外部全局total
变量,因此对函数内部的更新只会更新局部变量。
添加回答
举报
0/150
提交
取消