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

很简单:为什么函数 B 中的函数 A 不更改传递给它的全局变量?

很简单:为什么函数 B 中的函数 A 不更改传递给它的全局变量?

叮当猫咪 2022-08-16 19:00:28
代码不会向“ctr”变量添加一个。怎么办?ctr = 0def x(ctr):    #function A    ctr+=1def y():    #function B    global ctr    x(ctr)    #function Ay()print(ctr)>>> 0
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

整数按值传递,而不是按引用传递。您必须在 中修改全局变量,或返回分配给值的结果:global ctrx()


ctr = 0

def x(ctr):    #function A

    ctr+=1

    return ctr


def y():    #function B

    global ctr

    ctr = x(ctr)    #function A


y()

print(ctr)


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

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