<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hou09tian的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hou09tian</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hou09tian]]></copyright><item><title><![CDATA[GESP等级考试C++5级30-二分查找2]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/170125898</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/170125898</guid><author>hou09tian</author><pubDate>Thu, 05 Nov 2026 09:53:07 +0800</pubDate><description><![CDATA[本文介绍在含重复元素的升序数组中使用lower_bound方式实现二分查找，以定位元素首次出现的位置。通过不断缩小范围，找到第一个大于等于目标值的位置，并额外验证该位置是否等于目标值，确保结果正确。完整代码实现包括自定义函数与主程序逻辑，适用于多组查询，有效处理重复元素场景。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级29-二分查找1]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/170125761</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/170125761</guid><author>hou09tian</author><pubDate>Thu, 05 Nov 2026 09:49:41 +0800</pubDate><description><![CDATA[二分查找是一种高效的有序数组搜索算法，基于分治思想，每次将搜索范围缩小一半，时间复杂度为O(log n)。其核心是通过比较中间元素与目标值的大小，动态调整搜索区间。代码实现中，定义find_x()函数，使用双指针start和end控制范围，通过mid = start + (end - start) / 2避免整数溢出。对于多次查询，可高效返回元素下标或-1（未找到）。适用于严格升序且无重复的整数数组。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级28-唯一分解定理2]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/169828521</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/169828521</guid><author>hou09tian</author><pubDate>Mon, 02 Nov 2026 10:44:53 +0800</pubDate><description><![CDATA[最小因式筛法通过预处理构建2~N范围内每个数的最小质因数表（spf），实现高效质因数分解。对于多个查询，可快速定位每个数的质因数及其个数。例如，360分解为2³×3²×5¹。算法时间复杂度为O(N log log N)，适用于多组数据处理，显著优于单次试除法。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级27-唯一分解定理1]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/169828117</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/169828117</guid><author>hou09tian</author><pubDate>Mon, 02 Nov 2026 10:42:17 +0800</pubDate><description><![CDATA[唯一分解定理指出，任一大于1的自然数可唯一分解为质数乘积。通过试除法实现该分解：从2开始依次试除，统计每个质因数的个数，直至n缩小至1。算法复杂度为O(√n)，代码中利用循环与条件判断输出结果，如360分解为2³×3²×5¹。最后若n&gt;1，说明其本身为质数，也需输出。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python14-输入input]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/169341102</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/169341102</guid><author>hou09tian</author><pubDate>Wed, 28 Oct 2026 10:01:31 +0800</pubDate><description><![CDATA[本文介绍了Python中input()函数的用法：默认接收用户输入并返回字符串类型；通过int()可转换为整型，float()可转换为浮点型；支持带提示信息的输入。结合游戏实例，演示如何让用户输入背景色和汽车速度，实现交互式控制，增强程序灵活性。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python13-类型转换及字符串占位符]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/169339974</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/169339974</guid><author>hou09tian</author><pubDate>Wed, 28 Oct 2026 09:57:46 +0800</pubDate><description><![CDATA[本文通过Python的pgzero库，实现汽车在屏幕中环绕行驶并实时显示其位置。利用str()函数将整型坐标转换为字符串，结合screen.draw.text()函数显示汽车的(x, y)坐标。进一步采用f-string格式化方法，简洁高效地动态呈现汽车位置，提升游戏可视化效果。代码完整，逻辑清晰，适用于初学者学习条件语句与字符串格式化。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级26-数组模拟高精度运算6]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/168744997</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/168744997</guid><author>hou09tian</author><pubDate>Thu, 22 Oct 2026 10:06:55 +0800</pubDate><description><![CDATA[本文介绍GESP C++5级要求的高精度除法运算，重点实现被除数为高精度、除数为低精度的情况。通过自定义div()函数，将高精度数逆序存储后逐位相除，利用余数进位计算商，并用reverse()逆序商数组，最后去除前导零。主函数中将字符串逆序转为向量，转换除数，调用div()函数求商与余数，最终输出结果。代码完整、逻辑清晰，适用于高精度除法入门学习。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级25-数组模拟高精度运算5]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/168744489</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/168744489</guid><author>hou09tian</author><pubDate>Thu, 22 Oct 2026 10:04:24 +0800</pubDate><description><![CDATA[本文实现高精度乘法，通过自定义mul()函数处理大数相乘。将字符串逆序存入vector&lt;int&gt;，逐位相乘后累加至结果数组，统一进位并去除前导零。主函数读取两个大数字符串，调用mul()计算乘积，逆序输出结果。代码简洁高效，适用于任意长度整数乘法。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级24-数组模拟高精度运算4]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/168552888</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/168552888</guid><author>hou09tian</author><pubDate>Tue, 20 Oct 2026 15:19:36 +0800</pubDate><description><![CDATA[本文通过自定义函数实现高精度减法，将输入的被减数和减数逆向存储于vector中，去除前导0后，利用cmp函数比较大小，决定是否交换a、b。若a &lt; b，调用swap交换并标记结果为负；随后调用sub函数进行逐位减法运算，处理借位，并去除结果前导0。最后输出差值，支持正负数结果，完整实现高精度减法。]]></description><category></category></item><item><title><![CDATA[GESP等级考试C++5级23-数组模拟高精度运算3]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/168552765</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/168552765</guid><author>hou09tian</author><pubDate>Tue, 20 Oct 2026 15:17:41 +0800</pubDate><description><![CDATA[本文介绍了高精度减法运算的实现方法，重点解决负数结果带来的困难。通过自定义比较函数cmp()判断被减数与减数大小，确保被减数始终不小于减数，避免负数结果。随后，利用sub()函数进行逐位相减，处理借位并去除结果中的前导0，最终实现正确、高效的高精度减法运算。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python12-布尔型与条件语句]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167893641</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167893641</guid><author>hou09tian</author><pubDate>Wed, 14 Oct 2026 10:23:35 +0800</pubDate><description><![CDATA[本文介绍了Python中的布尔型数据、比较运算符及条件语句，并通过pgzero实现汽车环绕屏幕行驶。利用if语句判断汽车是否超出屏幕右侧，若超出则将其位置重置至左侧，实现无缝环绕效果。代码结合了布尔逻辑与条件控制，展示了程序逻辑在游戏开发中的实际应用。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python11-算术运算符应用3]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167893297</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167893297</guid><author>hou09tian</author><pubDate>Wed, 14 Oct 2026 10:18:23 +0800</pubDate><description><![CDATA[赋值运算符“=”用于将值赋予变量，如将2.5赋给car_speed。复合赋值运算符（如+=、-=、*=、/=）结合算术与赋值操作，先计算再赋值，提升代码简洁性。例如a+=1等价于a=a+1。图10和图11展示了其应用，可简化car.right += car_speed的写法。完整代码实现小车移动，使用pgzero库，通过update()函数持续更新位置，使小车在屏幕上运行。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python10-算术运算符应用2]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167788681</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167788681</guid><author>hou09tian</author><pubDate>Tue, 13 Oct 2026 10:44:12 +0800</pubDate><description><![CDATA[在《玩游戏学Python》中，通过pgzero库的update()函数每秒调用60次，可实现小车动画。只需在update()中修改汽车Actor的right属性（如car.right += car_speed），即可让小车移动。使用浮点型变量定义速度（如car_speed = 1.5），可精确控制移动速率，使小车平滑加速。相比整数速度，浮点型提升移动流畅度与灵活性。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python9-算术运算符应用1]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167788361</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167788361</guid><author>hou09tian</author><pubDate>Tue, 13 Oct 2026 10:41:05 +0800</pubDate><description><![CDATA[在pgzero中，使用screen.draw.text()函数可在draw()函数中显示文本信息。通过设置位置、字体大小（fontsize）和颜色（color）参数，可灵活控制显示效果。将字体属性设为变量，可方便地动态调整显示内容，提升代码可维护性。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python8-算术运算符2]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167701037</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167701037</guid><author>hou09tian</author><pubDate>Mon, 12 Oct 2026 18:58:30 +0800</pubDate><description><![CDATA[本文介绍在pgzero中使用算术运算符优化游戏代码。通过HEIGHT/2或HEIGHT//2动态设置汽车纵坐标，实现窗口自适应；利用+和*操作符组合字符串，灵活设置标题（如TITLE='我的第一个pgzero游戏'*2）和图标（如ICON='car'+'.png'），提升代码可维护性与灵活性。完整代码展示了这些运算符的实际应用。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python7-算术运算符1]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167701020</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167701020</guid><author>hou09tian</author><pubDate>Mon, 12 Oct 2026 18:54:53 +0800</pubDate><description><![CDATA[Python算术运算符包括+、-、*、/、//、%。整型可使用全部运算符，如+、-、用于数值计算，/返回浮点数，//取整除商，%求余数。字符串仅支持+（连接）和（重复），如&quot;abc&quot;+&quot;def&quot;结果为&quot;abcdef&quot;，&quot;a&quot;*3得&quot;aaa&quot;。其他算术运算符不可用于字符串与整型混合运算。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python6-演员Actor]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167469844</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167469844</guid><author>hou09tian</author><pubDate>Sat, 10 Oct 2026 10:25:34 +0800</pubDate><description><![CDATA[在PyZer0中，Actor用于表示游戏角色，封装了图像显示、位置控制等功能。通过将car.png放入images文件夹，并使用Actor('car', (150, 300))创建汽车对象，可在指定坐标显示车辆。pgzero坐标系原点在左上角，x轴向右，y轴向下。在draw()函数中调用car.draw()即可绘制汽车，完整代码实现了一个简单的游戏界面，汽车位于(150, 300)处。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python5-函数]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167469339</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167469339</guid><author>hou09tian</author><pubDate>Sat, 10 Oct 2026 10:22:57 +0800</pubDate><description><![CDATA[本文介绍了函数的基本概念与定义格式，强调函数可重复执行任务以提高代码效率。重点讲解了pgzero库中draw()函数用于绘制游戏窗口并填充背景色，以及update()函数用于循环更新游戏状态。通过实例展示了如何定义和调用函数，并说明draw()和update()由pgzero自动调用，分别负责绘图与状态更新，每秒约60次调用，实现游戏动态效果。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python4-字符串]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167378344</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167378344</guid><author>hou09tian</author><pubDate>Fri, 09 Oct 2026 11:58:28 +0800</pubDate><description><![CDATA[本文介绍了Python中字符串的概念及其在pgzero游戏编程中的应用。字符串是用引号括起的字符序列，可通过变量定义。通过定义大写变量TITLE和ICON，可修改游戏窗口标题和图标。标题栏文字由TITLE变量指定，图标需为32×32或64×64的PNG、JPG、GIF格式图片，并与代码同目录。注意变量名必须大写，图片大小需符合要求，否则无法正常显示。]]></description><category></category></item><item><title><![CDATA[玩游戏学Python3-整型]]></title><link>https://blog.youkuaiyun.com/hou09tian/article/details/167378149</link><guid>https://blog.youkuaiyun.com/hou09tian/article/details/167378149</guid><author>hou09tian</author><pubDate>Fri, 09 Oct 2026 11:56:11 +0800</pubDate><description><![CDATA[Python基本数据类型包括整型、浮点型、布尔型和字符串型。整型（int）用于表示整数，可通过变量定义并赋值，如a=1。变量是标识符，绑定对象后可访问其值。在pyzero中，可用整型变量WIDTH和HEIGHT控制窗口大小，如WIDTH=640表示窗口宽640像素。变量可多次赋值，最终值以最后一次为准；且变量名区分大小写，WIDTH与width为不同变量。像素是屏幕最小显示单位，游戏画面由像素排列构成。]]></description><category></category></item></channel></rss>