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

20224129谭力力 2024-05-18 16:43:51

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

课程:《Python程序设计》
班级: 2241
姓名: 谭力力
学号:20224129
实验教师:王志强
实验日期:2024年5月14日
必修/选修: 专选课

1.实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。
课代表和各小组负责人收集作业(源代码、视频、综合实践报告)
例如:编写从社交网络爬取数据,实现可视化舆情监控或者情感分析。
例如:利用公开数据集,开展图像分类、恶意软件检测等
例如:利用Python库,基于OCR技术实现自动化提取图片中数据,并填入excel中。
例如:爬取天气数据,实现自动化微信提醒
例如:利用爬虫,实现自动化下载网站视频、文件等。
例如:编写小游戏:坦克大战、贪吃蛇、扫雷等等
注:在Windows/Linux系统上使用VIM、PDB、IDLE、Pycharm等工具编程实现。


2.实验过程及结果

根据实验内容和实验要求,在查阅了相关资料后决定编写贪吃蛇小游戏
具体实验过程如下:
1.下载安装pygame,并检测Pygame包是否安装成功

在PyCharm 中导入pygame模块进行程序开发所需进行的配置 

2.导入pygame库并初始化,然后设置游戏窗口的大小 ​


3.定义游戏结束的函数以及蛇的移动和方向控制的函数 

4.编写游戏的主循环,这也是贪吃蛇游戏的核心 

 5.运行编写好的贪吃蛇小游戏,结果如下:

在游戏中,蛇可以通过键盘上的方向键进行控制,每当吃到一个白色的食物方块时,蛇就会长大,并且增加一分。如果撞到自己或墙壁,游戏则结束。

 

3.源代码

from datetime import time

import pygame
import sys
import random

pygame.init()

width, height = 640, 480
screen = pygame.display.set_mode((width, height))

black = pygame.Color(0, 0, 0)
white = pygame.Color(255, 255, 255)
red = pygame.Color(255, 0, 0)

clock = pygame.time.Clock()

snake_pos = [100, 50]
snake_body = [[100, 50], [90, 50], [80, 50]]
speed = 10
direction = 'RIGHT'
change_to = direction

food_pos = [random.randrange(1, (width//10)) * 10, random.randrange(1, (height//10)) * 10]
food_spawn = True

score = 0
def gameOver():
    my_font = pygame.font.SysFont('arial', 90)
    GO_surface = my_font.render('Your Score is: ' + str(score), True, red)
    GO_rect = GO_surface.get_rect()
    GO_rect.midtop = (width/2, height/4)
    screen.fill(black)
    screen.blit(GO_surface, GO_rect)
    pygame.display.flip()
    time.sleep(3)
    pygame.quit()
    sys.exit()

def changeDirection(event, direction, change_to):
    if event.key == pygame.K_UP and direction != 'DOWN':
        change_to = 'UP'
    elif event.key == pygame.K_DOWN and direction != 'UP':
        change_to = 'DOWN'
    elif event.key == pygame.K_LEFT and direction != 'RIGHT':
        change_to = 'LEFT'
    elif event.key == pygame.K_RIGHT and direction != 'LEFT':
        change_to = 'RIGHT'
    return change_to


while True:
    

4.游戏运行视频

 

5.本次实验遇到的问题及感想体会

问题1:pygame插件未安装,导致代码无法运行
问题1解决方案:在CSDN查找如何下载pygame,具体下载步骤在实验过程第一步。
问题2:编写游戏的主循环代码时多次出错
问题2解决方案:在CSDN上寻找到了解决方法。

感想体会:编写贪吃蛇游戏的代码确实是一个具有挑战性的过程。贪吃蛇小游戏涉及到的元素和逻辑也比较繁琐,要编写这样一个小游戏对我来说还是有较大的难度。在编写过程中,我面临了许多挑战。首先是关于游戏逻辑的设计,需要考虑蛇的移动、食物的生成、碰撞检测等问题,这需要仔细思考并且合理地设计代码结构。贪吃蛇游戏还涉及到一些技术细节,比如如何实现蛇的移动等,这些细节问题虽然看似简单,但实际上需要我不断地思考和尝试,确保游戏的流畅性和可玩性。最具有挑战性的还是编写贪吃蛇主循环代码,耗费了大量的时间。不过在这个过程中,我不仅提升了自己的编程技能,也增强了我对游戏开发的理解和认识。


6.课程总结与感想体会

在Python基础课程结束之后,我对这段学习经历深有感触。通过学习这门课程,我掌握了Python语言的基本语法和编程逻辑,对程序设计有了更深入的理解,同时也培养了我的逻辑思维能力和问题解决能力。这门课程让我在编程的道路上迈出了重要的一步。我通过课程学习了Python的基本数据类型、控制结构、函数、模块等知识点,掌握了Python编程的基本技能。在课程的每个环节中,志强老师都耐心地教导我们,详细讲解每一个知识点,引导我们解决问题,让我们在学习中感受到了成就感和乐趣。在这段学习过程中,我深刻感受到了老师对我们的包容。我们基础普遍较差,但是无论是面对我们提出的问题,还是在课程中的讲解过程中,志强老师总是细心倾听,耐心解答,让我们感受到了他对我们学习的重视和支持。老师的耐心与细心教导让我受益良多,让我在学习中不断成长。在此,我要表达对志强老师的感激之情,感谢老师在教学中的用心教导和耐心指导,让我受益匪浅。这段学习经历将成为我成长道路上宝贵的记忆,也让我对未来的学习和发展充满信心和期待。谢谢志强老师!谢谢这段宝贵的学习时光!

...全文
186 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
源码链接: https://pan.quark.cn/s/a4b39357ea24 银行信贷业务作为银行业务的关键构成部分,涵盖了银行向客户提供的各类融资服务,例如贷款、担保以及信用证等。此类业务致力于协助企业与个人解决资金需求问题,进而推动经济活动的开展。银行通过信贷业务获取利息收入,同时需承担相应风险,以保障资金的稳定与流转。 **信贷定义** 信贷意味着银行运用自身资本及信誉为客户提供资金支持,而客户则需以支付利息、费用并偿还本金为前提条件。这种业务模式不仅包含直接贷款,还包括为客户的债务承担提供担保。依照会计准则,信贷业务可分为表内业务与表外业务,前者对银行的资产负债表产生直接影响,后者则不直接关联。 **信贷业务划分标准** 1. **依据会计核算归属**:表内信贷(如贷款、贴现)和表外信贷(如承兑、保证)。 2. **根据期限划分**:短期(不超过1年)、中期(1至5年)与长期(超过5年)。 3. **按照担保方式分类**:信用信贷(无担保)和担保信贷(保证、抵押、质押)。 4. **按照币种区分**:本币信贷与外币信贷。 5. **按照性质和用途区分**:固定资产贷款、流动资金贷款、循环额度贷款、消费贷款等。 6. **按照贷款组织形式区分**:普通贷款、联合贷款和银团贷款。 7. **按照资金来源区分**:信贷资金贷款、委托贷款和境外筹资转贷款。 8. **按照授信对象区分**:公司类信贷与个人类信贷。 **信贷业务产品** 1. **流动资金贷款**:用于企业日常运营周转或临时性资金需求。 2. **固定资产贷款**:用于投资固定资产项目。 3. **房地产开发贷款**:用于土地开发及房屋建设所需资金。 4. **循环额度贷款**:满足企业...

93

社区成员

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

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