匸狐 2022-05-06 15:35 采纳率: 58.5%
浏览 30
已结题

python中的局部变量和全局变量问题

class Solution:
    def findTarget(self, nums: list[int], target: int):
        t = 0
        li = []
        def get_num(n):
            if n == target:
               # global t
                t += 1
                li.append(n)
        for i in li:
            get_num(i)
      return t

我有这样一个函数,为了方便提问简化了一下.
确认数组中有没有与目标相同的数,最后返回一个数量.
这个功能是很简单,问题是我在get_num中使用t的时候提示我

未解析的引用

当我加入global t时却提示:

全局变量在模块级别未定义.

不过li数组可以正常添加元素.
想问问这个局部变量究竟是个怎么回事.如果我想在前面的例子中修改t,要怎么样才能做到?

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 5月21日
      • 已采纳回答 5月13日
      • 创建了问题 5月6日

      悬赏问题

      • ¥15 android object box 一个实体多个表怎么写
      • ¥15 temux 启用docker 服务失败
      • ¥15 Flask 使用celery发送邮件出现‘目标计算机积极拒绝‘
      • ¥60 老人用的sd卡在手机里面不知道操作了什么,导致图片和视频变成了文件,取下sd卡连接电脑就是图中的样子,后缀改为.jpg才可以,需要用系统的画图软件才能打开,文件属性还是文件,有没有批量操作的解决办法
      • ¥15 超时跳出方法代码的返回值问题
      • ¥15 汇编语言程序设计设计,ascii码求数,再求数的BCD码
      • ¥30 Mask rcnn训练自己的数据集出现问题!
      • ¥20 研究人工智能时的几个问题
      • ¥15 mysql的sql查询写法问题
      • ¥15 Python中导入模块中的函数运行出错