20212115朱时鸿 《python程序设计》实验四报告
课程:《Python程序设计》
班级: 2121
姓名: 朱时鸿
学号:20212115
实验教师:王志强
实验日期:2022年5月28日
必修/选修: 公选课
1.实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。
2,实验过程及结果
(一)实验内容
编写一个塔防游戏,类似于保卫萝卜以及明日方舟那种。
(二)选题理由
因为本人对塔防游戏情有独钟,所以自己想编写一个塔防游戏,但由于对python的学习空间剩余的还很大,所以在网上找了许多的参考资料并且学习参考了教学视频才勉强完成,虽然不太完美,但对于自己来说也是一个挑战自己的机会。
(三)实验过程
1.首先购买一个华为云服务器
这个步骤我在本专业的C语言课程中其实已提前完成,所以没有花掉我多少的时间
2.下载pygame
这个步骤我是通过在网上找找资料,然后根据热心网友的回答解决的,但是在这个步骤的实现的过程我遇见了一个挺大的麻烦,就是明明我已经下载了pygame我在pycharm上运行时却会显示说我没安装pygame,这个问题困扰我很久,但好在课代表热心能力有强,帮我解决了这个问题,原因是我的电脑里下列三个python
但是只有一个python是有pygame的,最终帮我换了一个编译环境后解决了问题。(真的感谢课代表,我自己弄不知道要多久)
3.配置远程桌面
这个步骤也是在课代表的提醒下弄得,课代表在群里说需要下载这个才可以在华为云服务器上运行,不然会报错
首先在linux系统
在 Linux 系统安装 X11 转发的必要软件包:
# yum install -y xauth
# yum install -y xclock
下载xterm和xauth,EularOS用如下命令
yum install xterm
yum install xauth
用vim编辑器打开(vi是vim的简写)网络设置,注意xming与putty之间是通过ssh协议通信的
vi /etc/ssh/sshd_config
设置X11Forwarding yes
在vim编辑器中按i进入编辑模式,按Esc退出编辑,按:输入wq退出vim
完成后退出putty
xming下载并安装好后,在菜单栏找到xlaunch,一直点下一步至完成即可。之后打开putty输入xterm即可看见窗口了。
设置X11Forwarding yes
下载xming
最后为了成功运行xterm花了不少时间,通过上网查找教程和群里的文件,最终自己独立完成,但运行成功出现自己的理想中的结果时,有点成就感
4.编写代码过程及思路
首先塔防游戏需要涉及地图
然后再游戏中也是需要音乐的,不然会让游玩者感到枯燥,所以加入了背景音乐
然后找了几张防御物,小怪物,地图的图来呈现
首先在塔防游戏中,防御物是需要攻击怪物的,所以我们首先编写攻击物间的代码
然后需要设计塔
至此,最重要的几个元素就设计完成了
首先在本地运行
然后是在ecs上面运行
在这个上运行有点慢
(五)实验中所遇到的问题及解决方法
1.在下载pygame后在本地运行是却显示没有这个插件
解决方法:换了一个编译环境,发现有三个不同的python,但是只有一个pygame所以换了那个有pygame插件的python
2.最开始在华为云商运行时没有画面,且会报错
解决方案:通过课代表在群里的提醒后,下载了一个xming,完美解决了这个问题
3.一开始将代码上传后,但是会出错
解决方案:再请教同学后,知道了不能上传声音,不然会出错,然后将和声音有关的代码全部屏蔽了,成功上传
(六)实验的感悟
通过本次实验我明白了一个道理:没有最好只有更好,每次解决了一个问题后,总会有另一个问题冒出来,这也间接证明我在知识点上面的欠缺。
在问题的发现解决中,我自己的能力也得到了许多的提升,在这个过程挺感谢课代表的帮助,相信通过这次的作业,我以后在编写游戏以及对华为云的运用上面一定会更加的得心应手。
参考资料:B站教学视频
课代表以及多位热心同学的帮助
结课感想与体会
python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。在这学期中,通过选修python课上的基础知识学习,我对python也有了一定的认识。而且,在字符串上的处理,python相对于c语言也是给程序员极大的便利。而python不仅如此,它的库也很多,正因为它强大的库,让编程变得不再艰难。但是,我认为python虽然在许多方面相对于c语言比较方便,但也有其相对于弱一点的方面,比如说for循环等方面。虽然一学期下来,我对python的学习也仅仅只是它的基础方面,但python的强大,也是足足地吸引着我,希望自己能够在不断地学习中,将python学习的更加好。 python是一门非常有潜力的高级语言,历经多年的发展,其在编程上发挥着越来越大的作用。在这学期中,通过选修python课上的基础知识学习,我对python也有了一定的认识。
在学习python的第一节课上,其对我的最初的印象就是,相较于我学习过的c语言编程,它更加的简洁。所有的变量都不需要像c语言编程那样需要提前去定义,这样给了编程者很大的自由空间与方便。如x=2,即可同时完成变量的定义与赋值。对于简化程序的代码,起到了许多的作用。而且,在字符串上的处理,python相对于c语言也是给程序员极大的便利。在c语言中,只能用字符类的数组对字符串进行相应的操作,步骤也是相对于比较繁琐的,而在python中,当我们需要创建一个字符串的时候,只需要在创建字符串的时候用"s=”就可以了。而python不仅如此,它的库也很多,正因为它强大的库,让编程变得不再艰难。我们只需要调用库中的函数,而对于函数的具体实现,也没有特殊的需求。
但是,我认为python虽然在许多方面相对于c语言比较方便,但也有其相对于弱一点的方面,比如说for循环等方面。不过也依然不会影响到python的强大,而随着近几年来的发展,python的受欢迎度也越来越高,而它的运用的领域也是越来越多,比如人工智能和大数据等领域,python都是在其中扮演者重要的角色。虽然一学期下来,我对python的学习也仅仅只是它的基础方面,但python的强大,也是足足地吸引着我,希望自己能够在不断地学习中,将python学习的更加好。
在王老师的教导下,我觉得自己比起刚开始上课啥也不懂的小白可谓是强了不止一星半点,而且更为重要的是通过王老师得我教导,我对python的兴趣更加的浓厚了
真的挺感谢王老师,教科好而且有责任心,您的课我觉得也非常风趣幽默,上起来没有其他一些课的枯燥乏味,我知道python的学习还只是冰山一角,但相信通过王老师这一学期的引领,我在以后的学习中一定会得心应手,若果以后还有王老师的课,我一定还会选的(真)。
20212115朱时鸿 《python程序设计》实验四报告的更多相关文章
- 20212115朱时鸿实验一《python程序设计》实验报告
------------恢复内容开始------------ #学号20212115 <python程序设计>实验一报告 课程: <python程序设计> 班级:2121 姓名 ...
- 20212115朱时鸿-关于python技能树以及markdown编辑器的测评
csdn的链接:https://blog.csdn.net/m0_68116569/article/details/124049366 计算机连接:https://gitee.com/zhu-shih ...
- 20184302 2019-2020-2 《Python程序设计》实验四报告
20184302 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1843 姓名: 李新锐 学号:184302 实验教师:王 ...
- 20192204 2019-2020-2 《Python程序设计》实验四报告
20192204 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实验教师 ...
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- PYTHON程序设计实验
Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
随机推荐
- webstrom Debug 调试vue项目
第一种,使用vue插件 下载插件:https://chrome.google.com/web... 这样直接run一个vue项目,你就会看见插件标亮了 打开调试模式,你就会看见最后有个vue标记,打开 ...
- php弹窗后跳入另一个页面
之前写项目时,在跳转页面前加入一个弹窗,发现弹窗没有弹出来就直接跳转了,之前使用的header跳转发现不行,换成location.href也不行,后来再location.href前加入一个parent ...
- Android限制输入框内容
<EditText android:id="@+id/temper" android:hint="36.2" android:digits="1 ...
- Coursera 学习笔记|Machine Learning by Standford University - 吴恩达
/ 20220404 Week 1 - 2 / Chapter 1 - Introduction 1.1 Definition Arthur Samuel The field of study tha ...
- linux lvm逻辑卷管理之lvdisplay命令
linux 磁盘管理分fdisk parted 和LVM三种方式,我们这里重点是说lvm 我们来看看LVM基本术语(lvm和传统fdisk分区方式有区别)由于传统的磁盘管理不能对磁盘进行磁盘管理,因此 ...
- Java学习day15
File是文件和目录路径名的抽象表示 文件和目录可以通过File封装成对象 对于File而言,封装的不是一个真正存在的文件,只是一个路径名,它可以存在,也可以不存在,要通过后续操作把路径的内容转换为具 ...
- Springboot之Actuator的渗透测试和漏洞利用
背景概述 Spring的生态很优秀,而使用Spring Boot的开发者也比较多. Actuator是Spring Boot提供的对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,例如自动 ...
- 9.2 Linux硬盘分区和挂载
一块新的硬盘存储设备后,先需要分区,然后再格式化文件系统,最后才能挂载并正常使用. 分区:根据需求和硬盘大小划分空间 格式化:对分区安装文件系统 挂载:将设备文件与一个目录关联的动作叫挂载 硬盘分区格 ...
- 异步请求与中断 ( XHR,Axios,Fetch对比 )
随着AJAX技术的诞生,前端正式进入了局部刷新和前后端分离的新时代,最初的服务请求技术是XHR,随着技术发展和ES6的诞生,jquery ajax,axios,fetch 等技术的产生让前端的异步请求 ...
- R2DBC正式孵化成功,利好Spring Webflux
2022年4月25日,R2DBC社区宣布具有普遍可用性的1.0.0.RELEASE正式发布. R2DBC致力于为反应式编程 API操作关系型数据库带来规范支持,R2DBC不同于我们熟知的JDBC规范, ...