为了账号安全,请及时绑定邮箱和手机立即绑定

为什么多次运行时“总”值不会更新?

为什么多次运行时“总”值不会更新?

慕虎7371278 2021-06-08 15:22:23
“总计”在我第一次运行该函数时发生了变化,但没有返回新的总计值,所以当我再次运行它时,它的值与我第一次运行它之前的值相同吗?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变量,因此对函数内部的更新只会更新局部变量。


查看完整回答
反对 回复 2021-06-22
  • 3 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信