最近对pygame感兴趣,在网上找了教程来学习(网址:http://eyehere.net/2011/python-pygame-novice-professional-index/),但当我把上面的代码复制到Python IDLE中运行时,却发现明明点击了游戏窗口的关闭按钮,但就是无法让其关闭,并且窗口就对我的操作毫无反应。

在研究了网上教程的代码后,发现问题出在退出代码上

from sys import exit    #问题所在
......#游戏主循环
while True:......event = pygame.event.wait()if event.type == QUIT:exit()

教程代码中的from语句导入了sys模块的exit,sys.exit()与默认的exit()有着一定的区别(我以前一直以为它们是一个函数)。

#PythonShell的输出结果:默认的exit函数
>>> help(exit)
Help on Quitter in module _sitebuiltins object:class Quitter(builtins.object)|  Methods defined here:|  |  __call__(self, code=None)|      Call self as a function.|  |  __init__(self, name, eof)|      Initialize self.  See help(type(self)) for accurate signature.|  |  __repr__(self)|      Return repr(self).|  |  ----------------------------------------------------------------------|  Data descriptors defined here:|  |  __dict__|      dictionary for instance variables (if defined)|  |  __weakref__|      list of weak references to the object (if defined)#PythonShell的输出结果:sys.exit
>>> import sys
>>> help(sys.exit)
Help on built-in function exit in module sys:exit(...)exit([status])Exit the interpreter by raising SystemExit(status).If the status is omitted or None, it defaults to zero (i.e., success).If the status is an integer, it will be used as the system exit status.If it is another kind of object, it will be printed and the systemexit status will be one (i.e., failure).

可以看出,两个exit函数一个是来自“_sitebuiltins”模块,一个是来自“sys”模块。

回到问题本身,最后经过试验,我发现有三种解决办法:

  • 第一种方法是在exit方法前加一句pygame.quit(),以此释放掉占用的资源
  • 第二种方法是删除掉from语句,当点击关闭按钮时,会弹出对话框:

点击“确定”或“取消”后就能成功退出程序

  • 第三种方法是直接双击py文件运行,在这种情况下,无论exit函数是什么版本,都可以正常退出

不知道起什么标题 03相关推荐

  1. 自媒体爆文标题怎么写?4个万能标题模板,请收好

    自媒体爆文标题怎么写?大家都知道,对于一篇自媒体爆文来说,标题是非常重要的,标题是人们对于文章的第一印象,决定了文章70%的打开率,但是很多新手都不知道爆文标题到底应该怎么写,今天就给带大家介绍一下, ...

  2. android gridview不显示 自定义,Android gridview和自定义标题

    我正在努力实现以下GUI: 对于红线下方的9个元素(线下的所有内容均应可滚动),我使用了按预期工作的gridview布局.但是实际上我不知道如何制作标题. 到目前为止,我的xml: xmlns:too ...

  3. 火车头双标题插件-火车头采集器双标题插件下载及安装教程

    火车头双标题插件,为什么这么多人使用火车头双标题插件?因为双标题组合增强了标题的相关性和关键词密度,同时在词库方面也有了更多的展现,收录后也会有2个长尾词参与排名.详细参考图片 怎么设置火车头双标题? ...

  4. 【HTML 教程系列第 7 篇】什么是 HTML 中的标题标签 h1~h6

    这是[HTML 教程系列第 7 篇],如果觉得有用的话,欢迎关注专栏. 我们先来看一段代码,以及在浏览器运行后的效果 即使我们现在不知道什么是标题标签,仅从浏览器效果也能看出来这首<劝学> ...

  5. 首席新媒体运营商学院创始人黎想:如何写出爆款短视频标题

    最近有很多短视频行业的朋友跟我聊天,说自己内容制作完成之后,最大的问题就是不知道怎么取标题.其实做运营的同学都知道,好的标题能够辅助视频内容的传播,而不好的标题甚至会埋没一个优秀的视频内容. 很多人都 ...

  6. html一排小标题怎么写,如何写标题吸引人,100个优美小标题推荐

    我们自媒体人都知道标题的重要性,一个好的标题可以给我们带来巨大的流量,如果你想写一个吸引人的标题的话,可以按照下面的方法来写. 1.经历型标题 经历型标题是指通过实践得出的经验然后分享,这类标题获得用 ...

  7. ただの南條きみつだ。

    标题借用了 南條愛乃 的 Twitter ID 格式,旨在记录 NOIp 2018 前后一个多月的事情-- 已经好久没写日记了,和自己的约定也所剩无几了,要说心血来潮于是便去做的事情有很多,但做到最后 ...

  8. 物联网的常用几种协议

    最近公司组内要研究这个了 ,有个java大哥又弄个什么低代码的...可笑至极, 所以就发发总结一下 ,想做物联网关多支持点协议比什么不好~~ 老生常谈啊!! 大伙别喷我主要公司招人太水.... htt ...

  9. 关于UUID的二三事

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:沉默剑士 www.jianshu.com/p/d77 ...

最新文章

  1. python3中的int类型占64位_在windows 10 64位计算机中,默认情况下,numpy数组数据类型将以int32形式出现...
  2. 蓝桥杯-打印十字图-java
  3. 机器学习(七)——tf.keras搭建神经网络固定模式
  4. Linux的openssl的安装
  5. 双链集合添加删除算法
  6. LeetCode 101对称二叉树-简单
  7. Java 9和应用程序性能监视的激动人心之处
  8. 执行mongod其他实例出现的问题
  9. mysql重新编译_重新编译mysqld_exporter0.10-阿里云开发者社区
  10. 一个RecycleView的强大adapter
  11. 奥威软件大数据bi_有成熟数据分析方案的BI软件
  12. Atitit famous paint著名绘画 油画 作品数据库资料
  13. Maven Setting.xml配置文件下载 阿里云镜像 下载可用
  14. 如何绘制深度神经网络图
  15. python做一个本地搜索工具_SecretFinder:一款基于Python脚本的JavaScript敏感信息搜索工具...
  16. 卷积法求解系统的零状态响应_因果系统的零状态响应的一种简易计算方法
  17. 6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来吗?
  18. 景深概念以及景深的计算公式
  19. SpringFramework核心技术一(IOC:自定义一个bean的本质)
  20. 计算机考研复试会问什么专业问题,跨专业考研复试会问哪些问题

热门文章

  1. 机械革命code01卡顿
  2. python离线语音唤醒算法_python实现离线语音识别
  3. pandas操作大全
  4. 如何处理图片用matlab,如何使用matlab来批处理文件图片格式
  5. oracle rollup 合计,oracle中关于分组合计函数rollup使用
  6. ca机构将会被区块链取代
  7. 当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
  8. 程序员怎么做项目管理?
  9. Basler相机安装教程
  10. word另存为的快捷键