同时每次移动方向键时,都会在这个4*4的方格矩阵的空白区域随机产生一个数字2或者4,如果方格被数字填满了,那么就GameOver了。 ? ...接下来是计算部分,以向左移动为例,4*4矩阵在接收到向左移动的指令后,应该将每行的数字向左叠加, 将一行的叠加操作定义为函数 handle(list, direction),其第一个参数用来存储4*4矩阵中的某一行...这样当左右移动方向键时,可以这样来计算矩阵:遍历矩阵的每行,并将每行的数字沿左或右进行叠加操作。...score} return {'bool':False, 'score':score} def handle(vList, direction): '''处理一行(列)中的数据...,得到最终的该行(列)的数字状态值, 返回得分 vList: 列表结构,存储了一行(列)中的数据 direction: 移动方向,向上和向左都使用方向'left',向右和向下都使用
150行左右,利用了一些Python内置数据类型的操作节省了不少代码量。...同一时候每次移动方向键时,都会在这个4*4的方格矩阵的空白区域随机产生一个数字2或者4,假设方格被数字填满了,那么就GameOver了。...接下来是计算部分,以向左移动为例,4*4矩阵在接收到向左移动的指令后,应该将每行的数字向左叠加, 将一行的叠加操作定义为函数 handle(list, direction),其第一个參数用来存储4*4矩阵中的某一行...这样当左右移动方向键时,能够这样来计算矩阵:遍历矩阵的每行,并将每行的数字沿左或右进行叠加操作。...,得到终于的该行(列)的数字状态值, 返回得分 vList: 列表结构,存储了一行(列)中的数据 direction: 移动方向,向上和向左都使用方向'left',向右和向下都使用
每行下方都要留出一定的空白区域,并将其设置为外星人的高度。为计算可容纳的行数,我 们将可用垂直空间除以外星人高度的两倍(同样,如果这样的计算不对,我们马上就能发现,继 而将间距调整为合理的值)。...(在大多数文本编 辑器中,缩进代码块和取消缩进都很容易,详情请参阅附录B。)我们调用create_alien()时,传 递了一个表示行号的实参,将每行都沿屏幕依次向下放置。...create_alien()的定义需要一个用于存储行号的形参。在create_alien()中,我们修改外星 人的y坐标(见3),并在第一行外星人上方留出与外星人等高的空白区域。...另外,鉴于向右移动时需要增大每个外 星人的x坐标,而向左移动时需要减小每个外星人的x坐标,使用数字来表示方向更合理。...我们修改了方法update(),将移动量设置为外星人速度和fleet_direction的乘积,让外星人向左或向右移。
从VBA编辑器菜单中选择“插入➪用户窗体”,编辑器将打开一个新的空白用户窗体。...然而,显示窗体后,更改代码中的这些属性将移动窗体。 ?...表18-2:设置用于UserForm对象的StartUpPosition属性 ShowModal属性通常保留其默认值True,这适用于大多数用户窗体,因为直到关闭窗体(例如,当窗体用于接受来自用户的数据输入时...空白过程输入到编辑窗口中。 4.将清单18-1中所示的代码输入到该过程中。...该程序将显示一个带有你输入的文本的消息框,显示VBA代码如何从用户窗体中检索数据。 这是一个简单的演示。
二、实现效果 三、完整代码 下面贴出的代码在Windows系统上编译运行,需要使用conio.h头文件中的getch()函数来获取键盘输入,用于控制蛇的移动。...可以通过按下’w’、‘s’、‘a’、'd’四个键来分别控制蛇的向上、向下、向左、向右移动。同时还有一个暂停函数Pause(),用于控制蛇的移动速度,可以根据需要调整暂停时间。...设计思路: 程序定义了一些常量,包括游戏界面的宽度和高度、不同状态下的符号表示等,并在全局变量中定义了蛇头、蛇身、食物等的位置、得分、长度、行进方向等参数。...DrawGame()函数用于绘制游戏画面,将board数组中的字符逐行输出,并在末尾输出得分。UpdateGame()函数用于更新游戏状态,包括蛇的移动、游戏结束判断等。...= BLANK); //如果随机到的位置不为空白,则重新随机 food.x = x; food.y = y; board[x][y] = FOOD; //在随机位置生成食物 } //蛇的移动
1、需求: 有个表格,单元格内容里有不确定的空白,需要替换为1个特定的符号。...2、举例: 工作中碰到过这种情况:有些外部收集来的资料,由于表格制作者不知道如何在单元格中输入换行符,他的做法是设置单元格格式自动换行,为了达到排版换行目的,是输入了一些空格用来占位的: ?...所以程序必须考虑到多段不确定空白的情况: 使用InStr找到空格开始的位置 使用Loop找到非空白处 这样就确定了一段非空白的起止位置。...(r.Value), strReplace, 1) Next End Sub 'str 源数据 'strReplace 需要替换的符号 'iStart 搜索空格的起始位置 Function...< iLen Then '可能有多段的空白,递归 str = FTrimSpace(str, strReplace, last + 1)
一、数据清洗与预处理异常值清洗提示词:识别并删除A2:A500区域中超过3倍标准差的数值,保留处理后数据至新工作表场景:快速清理销售数据中的异常订单,避免统计偏差 多表合并去重提示词:将“1月”“2月...”工作表的A列客户名单合并,去除重复项并按拼音排序场景:整合季度客户资源,避免重复跟进 缺失值智能填充提示词:用B列相邻单元格平均值填充C列空白单元格,忽略文本类型数据场景:补全市场调研问卷中的漏填数值...=IFERROR(DATEVALUE(A2),"格式错误")数据清洗2识别B列中重复率>80%的字段,保留第一个出现值其余标黄删除清理CRM系统中重复客户信息数据→删除重复项+条件格式公式生成3生成提取...B2,"")自动化11编写VBA脚本:每周一上午9点自动抓取指定网页表格数据更新到"原始数据"工作表竞品价格监控系统Web查询+Application.OnTime自动化12创建按钮:点击后批量将当前工作表导出为...,识别出高价值/普通/潜在流失3类客户群客户分层运营策略分析工具库→聚类分析报表整合15将20个部门报表自动合并到总表,保留各表原始格式并添加来源标注集团月度报告汇编VBA遍历工作簿+格式复制报表整合16
工作中碰到过这种情况:有些外部收集来的资料,由于表格制作者不知道如何在单元格中输入换行符,他的做法是设置单元格格式自动换行,为了达到排版换行目的,是输入了一些空格用来占位的,这种表格在列宽变化了后,很可能就会变的有点乱...所以程序必须考虑到多段不确定空白的情况: 使用InStr找到空格开始的位置 使用Loop找到非空白处 这样就确定了一段非空白的起止位置。...(r.Value), strReplace, 1) Next End If End Sub 'str 源数据 'strReplace 需要替换的符号 'iStart...、右的空白 str = VBA.LTrim$(str) str = VBA.RTrim$(str) Dim i As Long Dim first As Long...< iLen Then '可能有多段的空白,递归 str = FTrimSpace(str, strReplace, last + 1)
本文介绍的小技巧是关于工作表列宽的,虽然平时可能用得不多,但到需要用时也许可以给你一些提示。...当我们将鼠标移动到工作表头列序号之间时,Excel会出现指向左右两侧的十字箭头,此时按下鼠标左键,会显示左侧列的列宽信息提示,如下图1所示,显示列C的宽是8.38(72像素)。 ?...图1 如果了解VBA的话,还可以编写一个简单的自定义函数,来获取列宽并在单元格中直接显示列宽尺寸数值。...获取列宽的VBA自定义函数如下: Public Function myWidth(iCol As Integer) As Double myWidth =Columns(iCol).ColumnWidth...End Function 在单元格中,像普通的Excel工作表函数一样输入,获取该单元格所在的列的列宽,效果如下图2所示。
sas可以对一个命令逐行去运行,不需要自己加循环,可以少写一点代码。SAS有一些函数的默认跟其他软件不太一致,比如merge函数,其他软件一般是默认内连接,只保留匹配到的,但sas默认是外连接的。...而且因为数据库中是可以通过between语句进行时间点和时间范围的匹配的,SAScreate table之后也可以,比如A表里每行是具体的年月日,B表里每行是起止时间段,这两个表是可以根据起止时间段匹配的...这也是其他软件不及sas的一点。总结起来SAS优点在于大数据和各种需要跟数据库交互的操作。...VBA是比较特殊的一门语言,内嵌在OFFICE中,是VB的简化版,不仅仅是针对EXCEL了,WORD,PPT里都可以用,有时候也叫宏,基本是一样的,只不过VBA是码的,宏是录的。...可以通过vba把excel的一张表视为数据库中的表,用select语句进行操作,如果数据量很大的话,上百万,直接操作分分钟卡死,用vba会很快。
有四种移动数字的方法,向左、向右、向上、向下。 当向一个方向移动时,全部的数字都会向这个方向移动。直到前面到了边界,或者有数字挡住。 而且在移动方向。相连方格中同样的数字将会被合并。...每次移动后,会随机在空白方格中出现2或者4数字,也有可能不出现。 成功条件:合出数字2048。 失败条件:全部方格中都有数字,而且不管採用哪一种方向移动,都无法合并数字(没有相连格子中数字是一样的)。...(这个规则是必需要遵守的,另外注意这是镜像对称了,为了表述方便,我就直接以左上角为例了,以下的规则描写叙述是相同) 规则2)第一列中的全部方格都有数字。(这个规则可能不能总是保持。...那么再想通过向左移动恢复规则1是非常难的(仅仅有一种非常小概率会恢复。但我们无法指望这个发生,全部我称它为无奈形)。如形9。就是这样的形,向左移动后变成形10,之后就无法保持规则1。...我想到的一个避免方式是感觉要出现这两种形,能够上下移动数次,多出现几个2和4数字,来避免出现这这两种异常形。 为什么要满足规则1和规则2 分析这个游戏。能够发现出现的数字都是2的n次幂。
15.2.3 使2散点图并设置其样式 有时候,需要绘制散点图并设置各个数据点的样式。例如,你可能想以一种颜色显示较小的 值,而用另一种颜色显示较大的值。...要使用这些颜色映射,你需要告诉pyplot该如何设置数据 集中每个点的颜色。...', bbox_inches='tight') 第一个实参指定要以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的 目录中;第二个实参指定将图表多余的空白区域裁剪掉。...如果要保留图表周围多余的空白区域, 可省略这个实参。 15.3 随机漫步 在本节中,我们将使用Python来生成随机漫步数据,再使用matplotlib以引人瞩目的方式将这 些数据呈现出来。...如果x_step为正, 将向右移动,为负将向左移动,而为零将垂直移动;如果y_step为正,就意味着向上移动,为负 意味着向下移动,而为零意味着水平移动。
描述了对基础数据进行修改。WAL确保数据持久化。当PG重启时,恢复进程将最近执行检查点位置之后的日志全部回放。顺序回放WAL日志,将数据库关闭时未刷写到磁盘的更改回放到数据页中。...如果以item数组的顺序移动元组,不进行排序,我们可以在稍后的页面中覆盖元组。例如,图2中,如果在移动tuple3前移动tuple2,那么我们将覆盖tuple3。...因此可以将这些元组拷贝到一个临时缓冲区,这样移动元组的顺序就无关紧要了。 PG14中compactify_tuples函数完全不需要使用qsort。...新的PG14代码通过预检查进一步优化,看元组是否已将在正确的反向item指针顺序中。如果元组顺序不正确,则不需要使用临时缓冲区。然后仅移动比第一个空白空间更早的元组。其他元组已经在正确位置。...1000万行中每行平均有12次更新。然后非正常关闭,重启进行崩溃恢复。在性能提升前,崩溃恢复需要148秒才能重放2.2GB的WAL。
: 光标向前移动一个字符,这里的前不是前面,而是表示敲字符时下一个字符的顺序,即向右移动一个字符 Ctrl-b: 光标向后移动一个字符,即向左移动一个字符 Alt-f: 光标向右移动一个单词,这里的单词表示用标点符号下划线等分开的数字和字母串...,因此像256_3484_2222需要按3次Alt-f才能从开始到结尾 Alt-b: 光标向左移动一个单词,单词的定义同上一条 Ctlr-a: 光标移动到行首 Ctrl-e: 光标移动到行尾 Ctrl-x-x...: 将光标移动到行首,再按一次则光标跳回当前位置 增加和删除 Ctrl-d: 删除光标处的字符,即字符删除 Ctrl-h: 删除光标左边的字符,效果同退格键 Alt-d: 向右删除光标处字符所在单词,保留下一个单词分隔符...Alt-u: 将光标所在单词的右边部分全变为对应的大写字母,光标移动到当前单词后面的标点符号上 Alt-l: 将光标所在单词的右边部分全变为对应的小写字母,光标移动到当前单词后面的标点符号上 Alt-c...注:这条比较特殊,我在cygwin中测试的时候,需要按Ctrl-SHIFT-_才可以。
第二部分笔记 核心结构包括以下4部分 查找和替换,word 转ppt WORD批量操作邮件合并与发布 宏的自动化操作 论文排版 查找和替换 通配符,在office 里面是相同的 图片 如何找到文档中的所有手机号...批量操作 邮件合并与发布,去邮件插入需要的域,源数据在excel 如何制作工资条,源数据在excel,在邮件里面找 目录 ,不是信件 shift f9 找到域 来处理保留小数,或者让excel 里面的数字变成文本...操作步骤,点击录制宏, 操作,结束录制 图片 在编写vbacode的时候,Ctrl + j 提醒vba代码 思维导图推荐,xmind 论文排版 论文流程 图片 在段落找到允许细纹在单词中间换行 图片...如果调整表格顺序,没有更新,例如表格1移动到表格2 之后。...需要全选 按f9 更新域 Alt 加 = 插入空白公式 如何快速输入公式 图片 在公式里面,输入\后面也可以打出特殊字符,具体字符可以参考下图,例如\kappa 图片 公式 如何编号 图片 如何让公式居中
游戏目标是在一个4×4的网格上滑动和合并数字方块,最终创建一个值为2048的方块。 本项目是2048游戏的现代Web实现,保留了原版游戏的所有乐趣,同时增添了现代UI设计、流畅动画和多项增强功能。...点击"新游戏"按钮 切换主题 点击主题切换按钮 移动端操作 操作 手势 向上移动 向上滑动 向下移动 向下滑动 向左移动 向左滑动 向右移动 向右滑动 撤销操作 点击"撤销"按钮 重新开始 点击"新游戏...:始终保持最大数字在一个固定的角落 合并链:创建可以连续合并的数字序列 空间管理:保持足够的空白格子,以便有更多的移动选择 技术实现 前端技术 HTML5 - 构建游戏界面结构 CSS3 - 实现响应式布局和流畅动画...Chrome ✅ 完全支持 49+ 移动端Safari ✅ 完全支持 10+ 移动端Firefox ✅ 完全支持 52+ 开发说明 Game2048类 游戏的核心逻辑在Game2048类中实现,主要包括...GameStorage类 数据持久化由GameStorage类处理,负责: 保存游戏状态:将当前游戏状态保存到LocalStorage 加载游戏状态:从LocalStorage加载之前的游戏状态 管理最高分
可以使用VBA将文本复制到剪贴板,在需要使用时再将其粘贴到合适的地方。...As String strText = "使用VBA复制到剪贴板!"...“Microsoft Forms 2.0 Object Library”库的引用,方法是在VBE中单击菜单“工具——引用”,在“引用”对话框中找到该库并选取。...如果在“引用”对话框中找不到这个库,可以在VBE中单击菜单“插入——用户窗体”命令,先插入一个空白用户窗体,然后再运行上述代码。 还可以使用Windows API来复制文本到剪贴板。...String) Dim hGlobalMemory As Long, lpGlobalMemory As Long Dim hClipMemory As Long, X As Long '分配可移动的全局内存
2.我们必须按四个键中的任意一个来上、下、左、右移动。...当我们按下任意键时,单元格的元素会沿该方向移动,这样,如果该特定行(向左或向右移动的情况下)或列(向上和向下移动的情况下)包含任何两个相同的数字,它们就会得到加起来,该方向的极端单元用该数字填充自身,其余单元再次变空...而这一系列的输入输出将会一直持续下去,直到我们输或赢! 编程方法: 我们将设计每个逻辑功能,例如我们正在执行向左滑动,然后我们将通过反转矩阵并执行向左滑动来将其用于向右滑动。...可以通过转置然后向左移动来完成向上移动。 向下移动可以通过右移转置来完成。 程序中的所有逻辑都在注释中详细解释了。强烈建议仔细阅读所有评论。...= 0): r = random.randint(0, 3) c = random.randint(0, 3) # 我们将在那个空白的随机单元格中放置一个2。
「图灵机」设想有一条无限长的纸条,纸条上有一个个方格,每个方格可以存储一个符号,纸条可以向左或向右运动。 图灵机可以做下面三个基本的操作: 读取指针头指向的符号。 修改方框中的字符。...将纸带向左或向右移动,以便修改其临近方框的值。 下面我们通过一个小例子来了解下图灵机到底是如何进行计算的。这个例子比较简单,我们将在空白的纸带条上打印1 1 0这三个数字。...首先,我们向指针头指向的方框中写入数字1: 接着,我们让纸带向左移动一个方框: 现在,我们再往指针头指向的方框写入数字1: 接着,我们继续让纸带向左移动一个方框,并写入数字0: 这样我们就完成了一个简单的图灵机操作...最后,我们读取到了一个空白字符,图灵机不做任何操作。...Online Turing Machine Simulator 图灵机的意义 让我们尝试这样的思考历程: 我有许多很复杂的公式需要计算,如果自己一个人算的话时间会很久。
为了补偿或多或少的照明,每个像素的亮度需要正规化,之后才能决定某个像素时黑色还是白色。问题是如何决定每个点的背景亮度。一个简单的方式就是在拍摄需要二值图片之前先拍一张空白的页面。...虽然该法可能有用,但是他不能用在以下描述的算法中,因为不可能给出一个看起来好的标准。对于一些交互式的应用,比如复制黏贴操作用户必须等到二值的处理。因此另外一个重要的指标就是速度。...开发一个简单的更快的自适应阈值算法是可行的,因此这接我们介绍下相关的理论。 算法基本的细想就是遍历图像,计算一个移动的平均值。...假设Pn为图像中位于点n处的像素。此刻我们假设图像是由所有行按顺序连接起来的一个单行。这这导致了在每行开始的时候会产生一些异常,但这个异常要比每行都从零开始要小。 ?...操作中必须先对于行数据进行一个备份,因为在计算过程中会改变像素值的。