python中,不用global,如何修改全局变量

option = ('A, 没有,a', 'B, 很轻,b', 'C, 中等,c', 'D, 偏重,d', 'E, 严重,e')
point = 0

def option_choose_api(x,y):
    if x in option[0] :
        y = y + 1
    elif x in option[1] :
        y = y + 2
    elif x in option[2] :
        y = y + 3
    elif x in option[3] :
        y = y + 4
    elif x in option[4] :
        y = y + 5

option_choose_api(choose,point)

这只是举个例子,这个函数是我做的一个判断累加函数

因为有好几个变量都用这种判断方法,所以打算写一个示例函数,然后都套用,但是结果就是不返回得分,这样就相当于白做,所以我怎么才能做到,在函数里计算Y位置的值,然后带着结果回到全局

这个point 是个全局变量,但是是需要一道题一道题累计,怎么样才能做到呢,

option = ('A, 没有,a', 'B, 很轻,b', 'C, 中等,c', 'D, 偏重,d', 'E, 严重,e')

point = 0

 

def option_choose_api(x,y):

    if x in option[0] :

        y = y + 1

    elif x in option[1] :

        y = y + 2

    elif x in option[2] :

        y = y + 3

    elif x in option[3] :

        y = y + 4

    elif x in option[4] :

        y = y + 5

    return y

point = option_choose_api(choose,point)

直接ruturn y就可以吧结果返回呢

不用global的话,可以把全局变量设置为一个字典,用字典的属性存放数据。

d = {"y":123}

def funcname(y):

    d["y"] = y

 

funcname(456)

print(d["y"]) #输出456

 

 

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y