20234213 实验四《Python程序设计》实验报告

20234213 2024-05-28 19:27:42

20234213 2023-2024-2 《Python程序设计》实验4 Python综合实践

课程:《Python程序设计》

班级: 2342

姓名: 黄靖博

学号:20234213

实验教师:王志强

实验日期:2024年5月20

必修/选修: 专选课

1.实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。

课代表和各小组负责人收集作业(源代码、视频、综合实践报告)

例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。

例如:利用公开数据集,开展图像分类、恶意软件检测等

例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。

例如:爬取天气数据,实现自动化微信提醒

例如:利用爬虫,实现自动化下载网站视频、文件等。

例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等

注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

2. 实验过程及结果

联想到小时候电脑屏保上的小球跳跃碰撞的画面,于是我打算制作一个小球可以碰到边缘弹回继续移动的小游戏。

  1. 安装Pygame

 

 

2.通过导入pygame模块,调用init()方法初始化,然后使用display模块显示窗体来创建一个游戏窗口,设置宽和高,

 

3.使用while true使程序一直执行并设置关闭按钮(点击关闭窗口则退出)

 

4.添加小球使其显示在窗口中

5.ball.get_rect()方法返回值ballrect是一个Rect对象,利用move(x,y)函数方法来移动矩形,同时为实现小球持续移动,将其添加到while循环中。

 

6.此时小球一闪而过,移动到窗口外,这一步使用if函数来使小球碰到边缘时反向运动回去

7.此时小球飞速运动,通过使用pygame的time模块,来控制程序运行的时间。设置其每秒执行60次

       

 

心存对王老师的感激与崇拜,于是便想到可以通过做一个小程序的方式来表达对老师的感谢。以下便是用海龟绘图做出的小程序。

  1. 清屏函数

 

 

  2.重新定位海龟位置,画线(state为真时海龟回到原点,为假时不回到原来的出发点)

3.画箭羽,设置剑的倾角、羽毛的数量、长度、间隔及箭柄和羽翼的运动方式。

4.画爱心

 

 

5.画箭

 6.画一箭穿心

 7.画小人

 

8.显示文字、显示发射爱心的小人、一箭穿心的画面 

 

 

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

问题1:小球跳动游戏中,小球图片在窗口无法显示出来

解决方案:结合之前的经验,经过几次尝试,把png图片放置到python对应文件夹下,即可成功在窗口中显示小球。

问题2:小球过大,跳动效果不好

解决方案:调整窗口宽和高,及小球照片大小

 

问题3:在设置海龟速度时,不能达到想要的效果

解决方案

查阅CSDN(https://docs.python.org/zh-cn/3/library/turtle.html#turtle-motion)找到了相关资料,并比较不同速度值的效果

 

实验四感想及体会:小球碰撞是pygame中较为基础的程序,但在实际操作中还是会有程序运行到一半就结束等问题,对while函数的运用还是不够熟练,不能放置在合适的位置。利用海龟画图,之前从未接触过,通过在csdn上搜素相关资料,结合自己的实际需要进行更改,达到了自己想要的结果。享受探索中的乐趣,尽管过程是复杂的但通过学习完成一个小程序的编写是令我开心的。

4.课程总结及建议

在寒假准备选课时,要不要选python其实纠结了很久,一方面是考虑到编程课难度有些大,自己在这方面没有能力;另一方面是担心最后的成绩。在第一次课王老师给了我很大的惊喜,很温柔很细心的老师,时刻关注文科同学的理解状态和精神状态,在讲解知识点时与实例相结合,相关程序和语法也是领着我们从头到尾写一遍,更便于大家理解。

上完这十二周的课,感觉自己坚持着每节课都认真听下来了,虽然很难理解,但一直跟着老师边听边写,学到了基本的python名词和语法,初步掌握了python的基本功能,受益匪浅。

虽然很不好意思的是没有把老师讲的内容学到精通,但也学到了很多新的知识比如说网络爬虫的运用、socket技术、小游戏的设计,并且老师经常跟我们分享一些课外的知识,加深我们对知识的认识,开阔了自己的视野。了解到更多获取资料和解决问题的方法,可以去找一些相关方面的专业软件或论坛。老师组织的英语打卡活动不仅能够帮助我们的python学习,而且也督促大家学习英语为四六级考试打下基础

回忆整个课程,最重要的是收获了满满的感动,强哥对我们可以称得上“溺爱”了。如果要说课程建议,首先,我觉得老师可以布置一些复习跟预习的作业,在课前提前给下节课的范围,大家可以阅读课本;下课之后发一个复习提纲,督促大家进行复习,也可以减少课前提问的紧张尴尬;并且课本上有很多有用的知识和易懂的例子,能够帮助大家复习知识点并加深理解,如果只是上课听老师讲讲就过去了,学习效果还是比较小。其次,感觉老师语速可以稍微放慢一点点,有的时候老师讲着讲着语速会慢慢变快让同学有时间去自己理解并把代码呈现在自己的电脑上。

荣幸能够跟着王老师一起学习python课程,再次感谢老师的辛勤付出与谆谆教诲!祝老师工作顺利,万事顺遂,永远帅气!

 

 

 

 

 

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

93

社区成员

发帖
与我相关
我的任务
社区描述
Python程序设计作业
软件构建 高校 北京·丰台区
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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