20224220实验四《Python程序设计》综合实践

20224220蒋竣一 2024-05-27 20:50:29

20224220 2023-2024-2 《Python程序设计》实验4报告

课程:《Python程序设计》
班级: 2242
姓名: 蒋竣一
学号:20224220
实验教师:王志强
实验日期:2024年5月14日
必修/选修: 专选课

 

1.实验内容

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

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

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

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

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

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

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

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

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

 

2.实验过程及结果

期末作业我选择编写一个小游戏,因为说到电脑我最先联想到的就是游戏,既然选修编程了,就自己制作一个简单的小游戏,也比较有成就感,准备做一个贪吃蛇的游戏,因为这个游戏很经典,最终在学计算机的朋友的帮助下完成。

1)整个程序编写前先要下载两个小程序,打开pycharm的终端(terminal),在跳出的提示框中输入“pip install pygame”和“pip insatll numpy”,即可下载。

 2)下载完成后,引用好这两个小程序,即可开始编写程序,首先第一步,设置长80、宽50、初始分数为0.

3)下一步定义食物类,绘制、随机生成食物

4) 编辑贪吃蛇,包括蛇身的移动、吃食物等功能,x 水平方向 y 竖直方向,初始方向竖直向上。

 5)enlarge 标记贪吃蛇有没有吃到食物,吃到食物就删除尾部元素,新蛇头的坐标为旧蛇头坐标加上移动方向的位移,将新的蛇头坐标插入在 list 最前面。

 6)下一步,设置snack_x,snack_y 蛇头坐标,food_x, food_y 食物坐标,比较蛇头坐标与食物坐标。

 7)下一步,设置改变蛇头朝向,并获取蛇头坐标。

 8)画出贪吃蛇:蛇头为边长为 10 的红色方块,绘制左右眼,蛇身为边长为 10 的黄色方块。。

 9)规定初始页面

10)设置游戏失败可能,一是咬到自己,二是撞到边框

11)设置开始游戏,包括中文字体大小、填充颜色、失败提示、退出按钮、重新开始按钮等等 。

12)设置游戏主进程,包括刷新、得分等。

13)设置游戏按键,包括上下左右移动键位、退出重开快捷键位。

 14)最后,设置好主程序、游戏初始化、pygame 初始化、设置游戏界面大小、游戏标题、填充屏幕为黑色等,完成收尾工作,编写完成。

15)运行截图

 

 

3. 实验过程中遇到的问题和解决过程
- 问题1:很多代码和细节不太清楚,导致源代码有问题
- 问题1解决方案:找理科的朋友帮忙修改了一下


其他(感悟、思考等)

  作为一名文科生,选Python这门课是为了拿到学分,Python毕竟属于编程,我还是很没头绪也不敢兴趣,甚至是感到畏惧,毕竟编程似乎是理工科专业的领域。然而,随着课程的展开,虽然还是很难懂,但是我逐渐发现Python并不像我想象的那样难以接触,也不是一点也碰不了。开课时老师就说过,相比于其他的程序设计,Python已经是很简洁易懂的了,好像对英语单词有一点熟悉程度,记一下特殊符号,就能够理解并编写代码。

  即便有一些还是不会,也可以在CSDN社区里看看同学们的,借鉴学习一下,也能勉勉强强完成个人的实验,期末作业我选择编写一个小游戏,因为说到电脑我最先联想到的就是游戏,就自己制作一个,也比较有成就感。

  一学期的课程结束了,感觉过的很快,稍微记住了一点东西,也不知道以后会不会用到,但是总体收获挺大,毕竟是为数不多的理科课程,还是印象很深,也算是培养了我的逻辑思维能力和问题解决能力,通过编写代码,我学会了如何分析问题、提出解决方案,并最终编好整个程序,整个过程像是解开一道数学难题,这是文科作业难以给予的情绪,回想一下还是挺开心的。

   也有一些意见给接下来选修这门课的同学,首先,我建议初学者保持耐心和勇气。学习编程并不是一蹴而就的事情,尤其是对于文科生来说。遇到困难时,不要轻易放弃,可以通过多练习、查找资料或向他人求助来克服,比如说多看看CSDN社区里的其他同学的报告哈哈哈。

  其次,我发现与同学们进行交流和讨论是很有帮助的,就是不会的多问,在学习过程中,肯定会遇见麻烦,多和同学互相交流、分享经验,毕竟可能身边人就刚好会,这样不仅可以更快完成,还能够加深印象。

  另外,我认为在学习Python的过程中,不仅要注重理论知识的学习,听太多也记不住,下次课肯定忘记,要注重实践操作,好好做一次实验抵得上两次理论课,通过动手编写代码,才能真正掌握语法和技巧,加深对这门课的理解。

  最后,可以尝试学习一些与自己专业相关的应用。例如,文科生可以学习如何利用Python进行数据分析、文本处理等,这样不仅能够提高自己的编程能力,还能够为以后的学习和工作打下良好的基础,反正都学了,不如多深究一点,万一以后就用到了呢。

...全文
167 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了基于元胞神经网络配流与DQN强化学习的公交线网扰动韧性恢复方法,提出了一种协同模型,通过元胞神经网络进行交通流量分配,并结合DQN(深度Q网络)强化学习优化调度策略,以应对公交网络中突发扰动(如线路中断、客流突变等)下的系统恢复问题。该模型在Matlab平台上实现了仿真验证,结果表明其在提升公交线网运行韧性、加快系统恢复速度、优化资源配置方面具有显著效果。研究涵盖模型构建、算法设计、仿真实验与结果分析全过程,体现了智能算法在城市交通管理中的深度融合与应用价值。; 适合人群:具备一定交通工程、智能优化算法或强化学习基础知识,从事智慧交通、城市规划、运筹优化等相关领域研究的研发人员及高校研究生。; 使用场景及目标:①解决城市公交网络在突发事件下的快速恢复与调度优化问题;②探索元胞神经网络与DQN强化学习在复杂交通系统建模与决策中的协同机制;③为智能公共交通管理系统提供算法支持与仿真验证工具。; 阅读建议:建议结合Matlab代码与文中模型框架同步阅读,重点关注元胞神经网络的配流机制与DQN奖励函数的设计逻辑,通过调整扰动场景参数进行仿真实验,深入理解算法在不同工况下的适应性与优化效果。
内容概要:本文针对传统三电平并网逆变器存在的谐波含量高、电网不平衡工况适应性差及动态响应慢等问题,提出一种基于有源中点箝位(ANPC)三电平逆变器的高性能并网控制策略。该策略融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制,构建了一体化复合控制体系。通过深入分析ANPC拓扑的结构优势,充分发挥其在开关损耗均衡、中点电位稳定和低谐波输出方面的硬件特性;结合DPWMA调制实现等效开关频率倍增,显著优化输出波形质量;利用正负序分离技术精准提取电网正序分量,确保在电压不平衡条件下的精确锁相与对称并网;引入电网电压前馈控制提前补偿扰动,有效提升系统动态响应速度与抗扰能力。多工况仿真结果表明,该方案在稳态运行、电网不平衡及动态扰动等场景下均表现出优异的电能质量、运行稳定性与工况适应性,具备良好的工程应用前景。; 适合人群:具备电力电子与电力系统基础知识,从事新能源并网、逆变器控制策略研究或相关领域开发工作的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于大功率并网逆变器的高性能控制设计;②解决电网电压不平衡、谐波畸变等复杂工况下的并网稳定性问题;③提升新能源发电系统电能质量和动态响应性能。; 阅读建议:建议结合Matlab/Simulink仿真平台进行模型复现,重点理解DPWMA调制原理、正负序分离锁相算法与前馈控制的协同机制,并通过多工况仿真对比验证控制策略有效性。

93

社区成员

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

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