本文我们将探讨下如何寻找一个数组的最大子数组。也就是找到其中的一个子数组,该子数组中的全部元素之和最大。前提是这个数组里面的数据有正有负,这样才有价值,不然全是正的很明显就是原本的那个数组。例如A=[2,3,-5,1,-4,6,-2,1],我们要寻找该数组的最大子数组,该如何做呢?这里我们的子数组元素至少为两个,不考虑只含有一个元素的数组。当然你要…
排序问题 直接开门见山,过多的废话不多说,当我们拿到一堆扑克牌的时候,如何将它从小到大依次排好,这就是我们要解决的问题。我们有两种方法,下文我们挨个阐述。 插入算法 第一种算法,插入算法,直接上图解释,简单明了。 在图a中,我们拿到一个乱序数组,所谓的插入算法,就是从数组的第二个数开始,将数挨个与左边的数进行比较,如果比左边的数小,就将其与左边的数…
安装,请在命令行中输入以下代码用于安装Numpy库,安装完后我们便可开始学习了。 pip install Numpy 数组 在python中我们输入 import Numpy as np array = np.array([1,2,3,4,5]) 如此以来便定义了一个Numpy中的数组,这个数组与python中的还有有些许差距,例如我们可…
学习了一段时间的Python了,现在基本上把基础部分学完了,开始进入爬虫的学习,不过因为对于库函数不够熟练,还是啃起来有点困难。 我们先来回顾一下Python的基础 基础语法 Python中已经包含了基本库,因此基本的函数无需使用"import"引入库 //最简单的Python程序只需一行代码 print("Hello Python")
数据分析与预处理 当我们拿到一堆数据的时候,首先应该做的是对其进行分析与处理。 import pandas as pd data = pd.read_csv("creditcard.csv")#读取数据 print(data.head())#显示数据,默认前五行 这里不建议使用excel开打数据,因为数据一般而言都是成千上万条,打开所需的时间太久了…
碰撞 为了监测碰撞,我们需要给能够碰撞的元素添加一个碰撞箱。我们不使用原来获得的矩形,毕竟那个真的是太大了。先给我们的player添加。 self.hitbox = self.rect.copy().inflate((-126,-70)) 在player的初始化器中,我们将原来的矩形复制并用inflate方法给它缩小一些作为我们的碰撞箱。 接下来给…
给场景添加一些别的地图元素 这里视频中用到了pytmx,即地图绘制器,这里我们直接使用作者绘制好的地图。首先要确保电脑中安装了pytmx库。随后回到level.py中,将库导入。 from pytmx.util_pygame import load_pygame 在setup方法中我们创建地图的剩下的元素。 tmx_data = load_pyga…
让角色使用道具 在输入控制方法中添加一个空格键监测,让我们在按下空格键的时候可以播放玩家使用工具的动画。 if keys[pygame.K_SPACE]: self.tool_use = True self.tool = axe 在我们的状态获取方法中将状态更改为对应的使用工具的状态 if self.tool_use: self.stat…
创建一个属于自己的角色吧 在昨天已经我们已经创造了一个可移动的小绿色方块,今天让我们更进一步。 在资源包中,我们已经准备好了各个素材,接下来只要导入就可。 player.py def import_assets(self): self.animations = {'up':[],'down':[],'left':[],…
Pygame的介绍 bing一下你就知道,这里就不过多阐述了。 Pygame的最基础框架 main.py import pygame, sys from settings import * class Game: def __init__(self): pygame.init()#① self.screen = pygame.display.set…