梁厚高 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的意思是未声明就引用了。
    可以看看百度搜索这个错误第一条的内容。
    令附一个有用的链接:如何使用百度搜索引擎

    评论

报告相同问题?