请问需求python 问答题目啊

sum=0
1def myadd(x,y):
global sum
sum+=x+y
return x+y
print(myadd(1,2))#3
print(myadd(100,200))#300
print(sum=',sum)#303
请解释为什么最后sum打印出来是303

你是一个好学的人,但是需要知道 global的含义

global表示全局的意思,也就是说 myadd 里面的sum和外面的 sum是同一个对象,当 方法里面的sum改变时,外面的sum也同时改变

接下来分析:
第一个 调用myadd(1, 2) 时, sum 在方法内做了一次加法 sum += x + y, 因此sum此时等于 3(由于global定义,外部的sum也变成了 3)
第二个 调用myadd(100, 200) 时, sum 在方法内又做了一次加法 sum += x + y, 也就是 3 + 100 + 200 = 303,此时sum为303

由于global的作用,函数内部,外部的sum是同一个,因此最后一步打印的 sum 也是同一个,为303

打字不易,希望采纳,谢谢

sum = 0

    def myadd(x, y):
        global sum
        sum += x + y
        return x + y

    print(myadd(1, 2))  # 3
    print(myadd(100, 200))  # 300
    print('sum=',sum)   #303

注释不是把每一步的结果都写清楚了吗,还不清楚就设置个断点跟踪进函数里面去看
你是不理解global 是什么意思
还是不理解sum+=x+y要先算x+y再赋值