20224107 2022-2023-2 《Python程序设计入门》实验四报告

ltyswdlp 2023-05-28 16:55:37

课程:《Python程序设计入门》
班级: 2241
姓名: xty
学号:20224107
实验教师:wzq
实验日期:2020年5月28日
必修/选修: 专选课

1.实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
要求:
(1)程序能运行,功能丰富。(需求提交源代码,并建议录制程序运行的视频)
(2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理。
(3)实验4的遇到的问题以及感想体会。
(4)对全课进行总结,并写课程感想体会、意见和建议等。

2. 实验思路

面对这个开放性的作业,决定从两方面入手,一个是改良以前跟着老师做的计算器,使其拥有独立的页面;另一个则是从自己感兴趣的游戏入手,最后选择了俄罗斯方块。但是想要完成这两个程序的设计,仅靠上课的知识是不够的,必须还要学习tkinter、函数等相关知识。

3.实验过程与结果展示

计算器

本想利用原来实验做出来的计算器继续往下做,但是不会创建新的界面,也不会绑定每个按钮,只能上网寻求借鉴,最后决定先构造出框架,在将计算函数与框架中的按钮绑定,从而完成计算器的程序设计。
首先是整体的构造方法(如下图)

img


img


然后设置函数并与不同按钮绑定(如下图)

img


img


最后就是程序的运行(如下图)

img


下面是效果展示


源代码如下
calculator.py 3.20K

俄罗斯方块

俄罗斯方块的制作难度比较大,因此参考借鉴了一位知乎用户的教程。
首先引入所有需要的模组,然后定义七种形状与颜色、旋转、核心块位置及大小、边界。(如图)

img


img


接着是创建界面。(如图)

img


然后要画方块。
image.png 173.58K

image.png 177.06K

image.png 78.49K

方块触底,满消,得分,结束
image.png 138.00K

image.png 53.29K

判断并完成旋转、左右移动、加快移动
image.png 167.03K

image.png 172.53K

image.png 106.54K

开始、结束、退出
image.png 144.56K

image.png 56.88K

最后处理程序本身。(如图)
image.png 57.18K

运行示范如下


源代码在附件中
teris.py 8.90K

4. 实验过程中遇到的问题和解决过程及感想体会

问题1:tkinter安装问题
问题1解决方案:在文件-设置-项目-解释器中直接下载
问题2:计算器按键的设计
问题2解决方案:用列表加换行设计
问题3:俄罗斯方块中不同形状方块的产生
问题3解决方案:先创建核心块再生成其他部位

感想:这次的自选题材的程序设计让我知道了课上教的只是python中很少的一部分,想要做出更加完善与功能多样的程序还需要自己多多研究。只有了解的越多,才越能感受到python的实用便捷之处。

5.课程感想体会

经过一学期的python课程学习,我对python程序设计从毫无了解,到能够磕磕绊绊自己写出能完整运行的简单程序,这令我感到十分自豪,感觉不负这一学期的认真学习。这门课程激发了我对python的兴趣,在以后,我也会继续学习python,使其成为我的一项技能。同时,十分感谢王老师这一个学期的悉心教导,是王老师在课上用诸多生动的例子与示范让我们一再体验到python的简单便捷之处,让我们能从一个小白逐渐入门,尽管我们距离大师还有很长的路要走,但是有了这门课打下的基础,相信我们会不断进步的。最后给王老师提一点小小的建议,我们文科生在计算机方面基础比较薄弱,如果能在上课展示的时候讲解一下每句代码的作用与注意点,一定能让文科生更能理解。

6.参考资料

用python做俄罗斯方块——王子燊
Python实现简易图形用户界面计算器——索儿呀

...全文
92 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

42

社区成员

发帖
与我相关
我的任务
社区描述
技术交流
教育电商 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧