梁厚高 2019-09-20 15:41 采纳率: 0%
浏览 711

python 全局变量设置问题

第一个问题:在下面的代码中,crucle已经定义全局变量了,为什么会报“local variable 'crucle' referenced before assignment”的错呢,我的目的是实现crucle的自增,判断从而判断子线程执行了几次
第二个问题:在方法qidong里面需不需要加这个global judge_number,
如果不加这个global judge_number会有影响吗?

def gaibian():
    global judge_number,crucle
    if judge_number == 0:
        if shuru_1.get().isdigit() and shuru_2.get().isdigit():
            judge_number=1
            ctrlakaishi.config(text="结束")
            shuru1.config(state="disabled")
            shuru2.config(state="disabled")
        else:
            print("请输入整数")

        def qidong():
            global judge_number
            if judge_number==1:
                def threee():
                    a=time.time()
                    print("begin")
                    time.sleep(3)
                    b=time.time()
                    print("end")
                    print(b-a)
                    crucle=crucle+1
                    print(crucle)
                    return qidong()
                t=threading.Thread(target=threee)
                t.setDaemon(True)
                t.start()
  • 写回答

2条回答 默认 最新

  • JonathanYan 2019-09-20 16:11
    关注

    referenced before assignment的意思是未声明就引用了。
    可以看看百度搜索这个错误第一条的内容。
    令附一个有用的链接:如何使用百度搜索引擎

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置