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 指导老师 修宇 [实验 ...
随机推荐
- Java/C++实现备忘录模式--撤销操作
改进课堂上的"用户信息操作撤销"实例,使得系统可以实现多次撤销(可以使用HashMap.ArrayList等集合数据结构实现). 类图: Java代码: import java.u ...
- 实验 3 Spark 和 Hadoop 的安装
1. 安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网"实验指南"栏目的"Hadoop 的安装和使用",完成 ...
- 【Android开发】Coding + git命令行基本使用
上传代码 进入本地仓库的目录. cd ... 查看仓库链接 : git remote -v 如果没有,则添加url链接 : git remote add testName https://git.co ...
- 用反射实现JavaBean和Map之间的转换
学习内容: 需求 由于JavaBean结构与Map类似,我们可以把JavaBean与Map进行转换 代码如下: package com.yy; import java.beans.BeanInfo; ...
- ABP源码分析 - 约定注册(3)
入口 //ConfigureServices foreach (var module in Modules) { if (module.Instance is AbpModule abpModule) ...
- python---选择排序的实现
选择排序 思想 一趟遍历记录最小的数, 放到第一个位置 再一趟遍历记录剩余列表中最小的数, 继续放置 关键点: 无序区: 第i趟, 无序区为 i~n-1 最小数的位置 import r ...
- java的collection类
collection来源于java.util包. Collection 接口常用的方法 size():返回集合中元素的个数 add(Object obj):向集合中添加一个元素 addAll(Coll ...
- HCIE笔记-第六节-CIDR与ICMP
项目部 58人 地址:194.2.3.128 /26 研发部 100人 地址: 194.2.3.0/25 市场部 27人 地址: 194.2.3.192/27 财务部 15人 地址:194.2.3.2 ...
- Python标准库tempfile的使用总结
Python标准库tempfile的使用总结 临时文件是计算机程序存储临时数据的文件,它的扩展名通常是".temp".本文用于记录使用Python提供的临时文件API解决实际问题的 ...
- 『忘了再学』Shell基础 — 12、用户自定义变量
目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名=" ...