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

很简单:为什么函数 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 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号