码步停蹄 2023-06-30 19:58 采纳率: 80%
浏览 15

Tkinter中的循环函数对外部变量不能赋值

在TKINTER里的after循环函数中运行两个函数对外部变量累加赋值,为什么不成功?

import tkinter as tk

aa = 10
bb = [100]

def cat():
    global aa
    aa += 5

def dog():
    bb[0] += 5

def game_loop():
    cat()
    dog()

    base.after(FPS, game_loop)

print(aa)
print(bb)

FPS = 400
base = tk.Tk()
base.after(FPS, game_loop)

base.mainloop()

你知道打印出来的aa和bb是多少吗?原地不动
很不理解,求开悟

  • 写回答

2条回答 默认 最新

  • 浪客 2023-06-30 20:04
    关注

    2个print只运行了一次。
    放到17行前面,或者分别放到2个函数里

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月30日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题