You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Pygame程序运行时黑屏及‘argument of type 'module' is not iterable’错误(第13行)

解决Pygame窗口报错:TypeError: 'module' object is not iterable

嘿,这个问题太典型了,我刚摸Pygame的时候也犯过一模一样的逻辑错误!咱们一步步拆解问题:

错误原因分析

你代码里的这两行判断完全写混了:

if event.type in pygame == pygame.QUIT:
if event.type in pygame == pygame.MOUSEBUTTONDOWN:

这里有两个核心问题:

  1. in pygame完全是多余且错误的:in关键字是用来检查元素是否存在于列表、元组这类可迭代集合里的,但pygame是一个模块对象,根本不是可迭代的东西,所以Python直接抛出了TypeError。
  2. 逻辑表达式完全偏离意图:你本来想判断「事件类型是不是退出/鼠标点击」,结果错误地把in pygame和==硬凑在一起,逻辑彻底乱了。

修正后的代码

只需要把错误的判断改成直接比较事件类型就行,顺便帮你修正了一个颜色值的小bug(你写的WHITE第二个数值是225,应该是255才对),完整代码如下:

import pygame
pygame.init()
screen = pygame.display.set_mode((500,600))
GREY = (120,120,120)
WHITE = (255,255,255)
running = True
while running:
    screen.fill(GREY)
    pygame.draw.rect(screen, WHITE, (100,50,50,50))
    for event in pygame.event.get():
        # 修正:直接判断事件类型为退出
        if event.type == pygame.QUIT:
            running = False
        # 修正:直接判断事件类型为鼠标点击
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                print("X")
    pygame.display.flip()
pygame.quit()

现在运行这个代码,就能正常显示灰色窗口和白色方块,点击鼠标左键会打印"X",关闭窗口也能正常退出啦!

内容的提问来源于stack exchange,提问作者Python learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 12:37:45