自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (148)
  • 收藏
  • 关注

原创 python经典百题之计算字符串中子串出现的次数

对于简单的需求或者规模较小的字符串,暴力法或者利用字符串内置方法都是不错的选择,简单易用。如果需要处理复杂的匹配需求,或者规模较大的字符串,可以考虑利用正则表达式,灵活性更好。总体而言,根据具体情况选择合适的方法,对于简单的需求,暴力法或者内置方法更为直观和高效。

2024-05-03 08:43:15 287 1

原创 python经典百题之逐字写文件

方法3使用异常处理机制是最好的选择,因为它具备错误处理机制,可以处理用户输入不合法字符导致的异常,同时适用于大量字符输入。方法2使用缓冲写入也是一种不错的选择,可以提高性能,适用于中等数量的字符输入。方法1简单直观,适用于小量的字符输入,但没有错误处理机制。

2023-10-09 08:48:33 550

原创 python经典百题之子串次数

如果处理的字符串和子串较小,且代码的简洁性和可读性更重要,可以使用方法2,即内置函数来实现。如果需要处理较大的字符串和子串,或者需要获取子串出现的具体位置,可以使用方法1,即循环遍历的方法。如果需要处理复杂的匹配需求,可以使用方法3,即正则表达式。综合考虑,方法2通常是最好的选择,因为它简洁且性能较好。但根据具体情况,其他方法也有它们的用途。

2023-10-09 08:47:16 1116

原创 python经典百题之猜谜游戏

三种方法都可以实现猜谜游戏,具体选择取决于个人偏好和项目需求。如果希望游戏更富趣味性且不需要复现相同的游戏,方法一(随机生成答案)是一个好选择。如果希望手动设置答案或者需要复现相同的游戏,方法二(手动设置答案)和方法三(多个答案备选)都是不错的选择。综合考虑,方法三(多个答案备选)通常是一个不错的选择,因为它允许设置多个备选答案,增加游戏的多样性。同时,它也比方法二(手动设置答案)更具趣味性。

2023-10-08 10:13:02 480

原创 python经典百题之简单加密数据

三种方法都可以实现加密任务,具体选择取决于个人偏好和项目需求。如果希望代码简洁易读,方法二(字符串操作)可能是一个好选择。如果性能是关键因素,方法三(按位操作)可能更好,因为它不需要进行字符串转换。方法一(数学运算)虽然可行,但相对较复杂,可读性较低,通常不是首选。综合考虑,方法三(按位操作)通常是一个不错的选择,因为它兼顾了性能和代码简洁度。

2023-10-08 10:12:05 948

原创 python经典百题之字符串连接

三种方法都能实现字符串连接的功能,具体使用哪种方法取决于实际需求和偏好。如果追求简单和直接的实现,且不考虑效率,方法1是一个不错的选择。如果追求效率和较好的性能,建议选择方法2,使用字符串的join方法进行连接。如果希望保持代码简洁,易于理解,且支持的Python版本为3.6及以上,可以选择方法3,使用f-string。总体来说,方法2(使用join方法)是比较通用和高效的选择,尤其在处理大量数据时效率更高。

2023-10-07 08:26:56 162

原创 python经典百题之根据值打印*

三种方法都能实现题目要求,具体使用哪种方法取决于实际需求和偏好。如果重视简单和直接的实现,且不介意手动输入7个数,方法1是一个不错的选择。如果希望提高代码的结构化和可维护性,并且有可能在其他部分需要使用相同逻辑,可以选择方法2,将逻辑封装成函数。如果希望简化输入过程,减少手动输入的次数,可以选择方法3,使用列表推导式。总体来说,根据具体情况选择最适合的方法是最重要的。

2023-10-07 08:25:57 253

原创 python经典百题之一个素数能被几个9整除

总结方法一和方法二都是直接简单的实现,但可能需要多次除法运算或多次判断因子,效率不高。方法三利用素数生成算法生成素数列表,避免了逐步除以9或多次判断因子,更高效。推荐基于素数生成算法的方法(方法三)是相对更好的选择,因为它在时间上进行了较好的优化,并避免了逐步除以9或多次判断因子的操作。生成素数的过程虽然稍复杂,但可以节省时间成本,特别在处理大数字时更为高效。

2023-10-06 09:45:51 291

原创 python经典百题之偶数是2个素数之和

总结暴力枚举方法简单直接,但时间复杂度较高,不适用于大数字。使用已知素数列表方法在暴力枚举的基础上优化了时间复杂度,但需要预先生成素数列表,占用额外内存空间。使用素数生成算法方法进一步优化了时间复杂度,并避免了预先生成素数列表的内存开销。推荐基于素数生成算法的方法是相对更好的选择,因为它在时间和空间上都进行了较好的优化。生成素数的过程虽然稍复杂,但可以节省时间和空间成本,特别在处理大数字时更为高效。

2023-10-06 09:44:06 561

原创 python经典百题之八进制转十进制

这题目要求将八进制数转换为十进制数。八进制数是以8为基数的数字系统,而十进制数是以10为基数的数字系统。现在,让我们使用这三种方法来实现八进制转换为十进制。

2023-10-05 07:54:00 1496

原创 python经典百题之求奇数个数

这题目的本质是求由0到7组成的奇数的个数。首先,我们可以观察到奇数的特点是末位一定是1、3、5、7。其次,首位可以是0(但如果只有一位数的话就不算),其他位可以是0到7的任意数字。现在,让我们使用3种不同的方法来实现这个求解问题。所以,总的奇数个数为。

2023-10-05 07:52:58 1227

原创 python经典百题之猜数字

在这个特定问题中,数学推导法是最直接和高效的解决方法,不需要遍历任何范围。如果数学推导不适用或无法确定??的具体值,暴力遍历法是一种简单直接的解决方法。可以通过遍历所有可能的两位数来求解。暴力遍历优化法在暴力遍历的基础上做了范围的优化,提高了效率,但仍然需要遍历范围内的所有可能的两位数。推荐使用数学推导法,因为它是最直接、高效、清晰的解决方法,避免了不必要的遍历和计算。

2023-10-04 09:14:52 224

原创 python经典百题之分桃子

在这个特定问题中,数学推导法是最直接和高效的解决方法,不需要递归和循环迭代。一般情况下,推荐使用数学推导法,因为它效率高、直观清晰。但需要注意理解分桃规则的基础上进行推导。如果需要通用解决方案或者对效率要求不高,递归法也是一种简洁的解决方法。但要注意可能的栈溢出问题。迭代法一般情况下不是最优选择,但在遇到特定问题无法直接用数学推导时可以考虑使用。综上所述,推荐使用数学推导法作为首选解决方法。

2023-10-04 09:13:59 522

原创 python经典百题之前N项和

推荐方法3(数学运算优化求和)效率较高,不需要额外空间。综上所述,推荐使用方法3来求解题目。

2023-10-03 20:28:43 471

原创 python经典百题之反向输出数字

推荐方法2(数学运算反转整数)简单,不需要额外空间,适用于大多数情况。综上所述,推荐使用方法2来反转整数。

2023-10-03 20:27:37 957

原创 python经典百题之字符串长度

推荐方法1(使用内置函数 len())具有较好的时间复杂度和空间复杂度。简单、快速,直接使用内置函数即可。综上所述,推荐使用内置函数len()来计算字符串长度。

2023-10-02 08:53:50 280

原创 python经典百题之围圈报数

推荐方法2(数学规律)具有较好的时间复杂度和空间复杂度。避免了递归可能产生的栈溢出问题。相比方法1(模拟游戏过程)和方法3(递归计算),数学规律更高效。综上所述,推荐使用数学规律的方法来解决该问题。

2023-10-02 08:52:35 1316

原创 python经典百题之交换数组元素

方法二,一次遍历查找并交换。在一次遍历中同时找到最大值和最小值,效率较高,不需要排序或多次遍历。方法一,遍历查找最大值和最小值。实现简单,易于理解,但需要遍历数组两次以查找最大值和最小值。方法三,排序数组。利用排序可以找到最大值和最小值,但排序算法的时间复杂度较高。综上所述,推荐使用一次遍历查找并交换的方法(方法二)实现数组中的最大值与第一个元素交换,最小值与最后一个元素交换。

2023-10-01 08:27:05 586 1

原创 python经典百题之数组元素换位

方法一,逆序操作。虽然需要逆序数组多次,但实现简单易懂。方法二,切片操作。利用切片实现,简洁直观。方法三,数组拼接。使用数组拼接实现,也能得到正确结果,但可能不是最优解。综上所述,推荐使用逆序操作(方法一)实现数组中的向后移动和交换。

2023-10-01 08:26:10 554

原创 python经典百题之画一个最优美的图案

使用matplotlib。使用turtle或Pillow都可以满足需求,选择取决于你对库的熟悉程度和对图案的要求。使用turtle是最简单的选择,不需要安装额外库,但功能较为简单。根据具体场景和需求选择适合的绘图库。如果需要更复杂的图案和图形绘制功能,推荐使用matplotlib。如果需要相对简单但可以通过控制绘制路径实现美观图案,可以选择turtle。如果需要在图案中加入图像处理功能,推荐使用Pillow。

2023-09-30 15:15:05 331

原创 python经典百题之利用ellipse and rectangle 画图

使用matplotlib是最好的选择。使用Pillow或turtle都可以满足需求,选择取决于你对库的熟悉程度和对图形外观的要求。使用turtle是最简单的选择,不需要安装额外库,但功能较为简单。根据具体场景和需求选择适合的绘图库是最重要的。

2023-09-30 15:14:33 287

原创 python经典百题之画点

在这个问题中,直接使用PIL库的putpixel函数是最简单、直接、易懂的方法,适用于在Python中直接绘制少量点。绘制点集方法适用于批量绘制多个点,但依赖PIL库。利用图像数组的方法不依赖外部库,可以直接在Python中实现,适用于绘制少量点。综上所述,推荐使用直接使用PIL库的putpixel函数来绘制少量点,简单直接,适合快速绘制。如果需要绘制大量点或更高效的操作,可以考虑利用图像数组。

2023-09-29 14:11:05 446

原创 python经典百题之画椭圆

在这个问题中,使用数学方程绘制椭圆是最简单、直接、易懂且不依赖外部库的方法。适用于快速绘制椭圆。使用绘图库绘制椭圆也是一种简单直接的方法,适用于对绘图库熟悉的用户。使用图像处理库绘制椭圆也是一种可行的方法,适用于需要更多图像处理功能的场景。综上所述,推荐使用数学方程绘制椭圆的方法,简单直观且不依赖外部库。如果需要更多功能或对绘图库熟悉,也可以考虑使用绘图库绘制椭圆。最终选择要根据具体情况而定。

2023-09-29 14:08:51 2073

原创 python经典百题之画圆形

对于简单圆形绘制,推荐使用方法一:使用matplotlib库绘制圆形。它简单易用,适用于快速绘制圆形,也可以轻松绘制多个圆形,设置颜色、边界样式等属性。如果需要绘制复杂图形或进行图像处理,可以选择方法三:使用PIL库绘制圆形。它适用于图像处理领域,支持更复杂的绘制操作。方法二:使用turtle库绘制圆形适用于教学或简单图形绘制,但相对较慢,不适合高效绘制大量圆形。综上所述,根据需求选择适当的方法。对于一般绘制需求,推荐使用方法一:使用matplotlib库绘制圆形。

2023-09-28 14:25:02 2594

原创 python经典百题之画直线

对于简单直线绘制,推荐使用方法一:使用matplotlib库绘制直线。它简单易用,适用于快速绘制直线,也可以轻松绘制多条直线,设置线型、颜色等属性。如果需要绘制复杂图形或进行图像处理,可以选择方法三:使用PIL库绘制直线。它适用于图像处理领域,支持更复杂的绘制操作。方法二:使用turtle库绘制直线适用于教学或简单图形绘制,但相对较慢,不适合高效绘制大量直线。综上所述,根据需求选择适当的方法。

2023-09-28 14:24:29 1687

原创 python经典百题之static定义静态变量的方法

三种方法都可以用来模拟静态变量,具体选择取决于代码结构和设计需求。对于简单的场景,类属性是最简洁和直接的选择,易于理解和使用。如果需要在方法中进行更复杂的操作,可能类方法更适合,因为它允许访问类级别的属性。装。

2023-09-27 13:22:31 3384

原创 python经典百题之数组逆序输出

在这个特定问题中,使用切片(方法一)是最简洁、直接的方法,适用于逆序输出数组。使用循环(方法二)也是一种常用且有效的方法,原地逆序数组,不需要额外空间。使用递归(方法三)在这个问题中也能实现逆序输出数组,但可能对于初学者来说稍显复杂。推荐使用切片(方法一),因为它简洁、直接,适用于逆序输出数组。同时,它也是Python中常用的逆序数组的方法。

2023-09-27 13:01:04 1065

原创 python经典百题之插入规律数

三种方法都能够得到正确的插入后的有序数组。遍历插入法(方法一)简单直观,但时间复杂度较高,特别是对于大规模数组。二分查找插入法(方法二)效率较高,适用于大规模数组,但实现稍复杂。Python列表内置函数insert(方法三)简洁高效,但依赖Python内置函数,不适用于非Python环境。推荐使用二分查找插入法(方法二),因为它结合了效率和相对简单的实现。如果对简洁性更重视,可以选择使用Python列表内置函数insert(方法三)。

2023-09-26 13:19:40 485

原创 python经典百题之矩阵对角线之和

在这个特定问题中,三种方法都能够得到正确的对角线元素之和。直接遍历法(方法一)简单直观,适用于小规模的矩阵。矩阵求和法(方法二)和索引求和法(方法三)都是基于数学原理的高效方法,适用于大规模的矩阵。两者效率相近,但索引求和法更为简洁和直观。推荐使用索引求和法(方法三),因为它结合了简洁性和效率,理解起来也相对容易。

2023-09-26 13:18:32 3233

原创 python经典百题之1000个数排序

推荐使用快速排序,因为它在平均情况下具有较高的效率,通常比冒泡排序和选择排序更快。同时,快速排序是常用的通用排序算法,应用广泛。

2023-09-25 18:45:44 345

原创 python经典百题之求10000之内的素数

推荐使用埃拉托斯特尼筛法,它是最高效的方法,只需要进行一次筛选即可找出素数。虽然需要额外的空间存储素数信息,但可以大大提高计算效率,特别是在大数范围内。

2023-09-25 18:44:44 1163

原创 python经典百题之字符反转

方法三(栈)是推荐的最佳方法,因为它具有较高的效率和合理的空间复杂度,同时不会产生额外的空间复杂度。时间复杂度为O(n),空间复杂度为O(n)。方法二(逐字符反转)虽然不需要额外空间,但时间复杂度较高,不推荐在实际应用中使用。方法一(逆序切片)简单直接,但会生成新的字符串,产生额外空间复杂度。在不需要考虑空间复杂度的情况下可以使用。

2023-09-24 20:19:12 399

原创 python经典百题之是否为质数?

方法三(埃拉托斯特尼筛法)是推荐的最佳方法,因为它具有较高的效率和合理的空间复杂度。方法二(优化的暴力检查法)是一种简单的优化方法,但仍然具有较高的时间复杂度,不如埃拉托斯特尼筛法效率高。方法一(暴力检查法)是最简单直接的方法,但效率较低,不适用于大数字的质数判定。

2023-09-24 20:17:59 161

原创 python经典百题之删除指定字母

方法2(使用列表拼接)是最推荐的方法。它不会创建新字符串对象,节省内存,而且实现简单,逻辑清晰。对于这种字符串中删除特定字母的问题,推荐使用方法2(使用列表拼接)。它避免了创建新字符串对象,内存占用少,效率高。方法1(使用字符串替换)和方法3(使用列表推导式)也可用,但方法1会创建新字符串对象,效率较低;方法3创建了临时的列表,占用一定内存。综上所述,方法2(使用列表拼接)是较好的选择,可以根据具体场景选择。方法1(使用字符串替换)也可用,但效率较低;方法3(使用列表推导式)也可用,但会创建临时列表。

2023-09-23 12:56:49 572

原创 python经典百题之判断星期几

方法1使用字典,实现简单且直观。它可以灵活处理首字母匹配,且代码结构清晰。对于这种首字母匹配的情况,推荐使用方法1。它简洁直观,易于维护。方法2也可用,但在字母匹配较多时,可能会导致代码嵌套过深,不够优雅。方法3使用了列表,避免了多层if-elif-else的嵌套,但需要进行字母到索引的转换,稍微复杂一些。综上所述,方法1(使用字典)是最推荐的方法,简洁直观,易于理解和维护,适用于这种首字母匹配的情况。

2023-09-23 12:55:17 1034

原创 python经典百题之判断回文数

方法1和方法2都是很好的选择,它们不需要额外空间,只需要数值运算,并且代码简洁明了。对于这种回文数判断问题,推荐使用方法1或方法2。它们不需要额外的空间,效率较高。如果问题需要将数字转换成字符串,可以考虑方法1,但需要注意额外开销。综上所述,方法1(转换成字符串)和方法2(反转数字)是较好的选择,可以根据具体场景选择其中一种。方法3(使用数组)也可用,但由于可能引入额外空间,不推荐在不必要的情况下使用。

2023-09-22 12:17:06 738

原创 python经典百题之求数字位数及逆序打印

方法1和方法2是最直接的方法,简洁明了,逻辑清晰。方法1对于大数可能稍快一些,因为它不需要将数字转换成字符串。对于这种题目,推荐使用方法1或方法2。它们实现简单,直观,适用于大多数情况。如果题目要求不能使用字符串,或者对性能要求较高,可以考虑使用方法1。方法3递归实现简洁,但可能在数字较大时导致栈溢出,不推荐在大数情况下使用。综上所述,方法1(取模和除法)和方法2(使用字符串)是较好的选择,可以根据具体场景选择其中一种。方法3(递归)也可用,但由于可能导致栈溢出,不推荐在大数情况下使用。

2023-09-22 12:07:11 2268

原创 python经典百题之请问他多少岁

在这个具体问题中,数学公式方法是最简单和高效的。因为题目描述了一个简单的等差数列,可以通过数学公式直接求解第五个人的年龄。对于特定的数学规律或公式可以直接求解的问题,推荐使用数学公式方法。如果题目不具有明显的数学规律,可以考虑使用迭代或递归方法。在这种情况下,迭代方法更简单高效,递归方法可能会导致栈溢出,因此要慎用递归方法。

2023-09-21 12:52:07 587

原创 python经典百题之最大公约数与最小公倍数

方法1中的辗转相除法(欧几里德算法)是最常用且高效的方法,它能够快速求解最大公约数,并通过公式直接计算最小公倍数。对于最大公约数和最小公倍数的求解,推荐使用辗转相除法(欧几里德算法)及公式计算,因为它们简单、高效,并且能够处理大整数。更相减损术可以作为一种直观的方法,但可能在递归深度较大时效率不高。

2023-09-21 12:47:45 1256

原创 python经典百题之逆序打印字符串

方法2中的递归传递子串是一个简洁而高效的方法。它不需要显式传递索引或创建新的子串,避免了额外开销。如果递归的字符串长度不是很大,方法1和方法2都是不错的选择,因为它们实现简单且直观。如果递归的字符串长度较大,可以考虑方法2,它能够避免创建新的子串,效率较高。

2023-09-20 10:42:21 673

基于STM32的数据采集+心率检测仪(原理图、PCB、程序源码等).7z

STM32

2023-11-16

CNC雕刻机STM32F407源码详细

CNC雕刻机STM32F407源码详细

2023-11-16

简易风洞及控制系统(主控板+供电驱动)工程文件分享

简易风洞及控制系统(主控板+供电驱动)工程文件分享

2023-11-16

8-无线通讯模块.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

1-寻迹传感器.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

6-按键.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

7-蜂鸣器.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

5-TFT彩屏.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

3-电机驱动模块.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

4-舵机.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

2-编码器.7z

竞赛空间电子设计大赛资料-外设模块资料

2023-11-16

竞赛空间电子设计大赛资料-芯片手册

竞赛空间电子设计大赛资料-芯片手册

2023-11-16

直立样车主板原理图.pdf

原理图

2023-11-16

直立样车驱动板原理图.pdf

原理图

2023-11-16

四轮摄像头主板原理图.pdf

原理图

2023-11-16

电磁B车主板原理图.pdf

原理图

2023-11-16

电磁信号调理模块原理图.PDF

原理图

2023-11-16

mos单驱原理图.pdf

原理图

2023-11-16

K60系统板原理图.pdf

原理图

2023-11-16

线阵CCD芯片手册-tsl1401线阵CCD

线阵CCD芯片手册-tsl1401线阵CCD

2023-11-16

电动汽车Simulink模型

电动汽车Simulink模型

2024-03-13

PSOfuzzyEV电动汽车Simulink模型模型

PSOfuzzyEV电动汽车Simulink模型模型

2024-03-13

电动车转矩分配控制策略

电动车转矩分配控制策略.7z

2024-03-13

电动车双电机Simulink模型模型

电动车双电机Simulink模型模型.7z

2024-03-13

纯电动汽车整车控制策略开发与测试

纯电动汽车整车控制策略开发与测试.7z

2024-03-13

UC38423反激式开关电源12V2.5A原理图pcbFlyBack设计学习资料

UC38423反激式开关电源12V2.5A原理图pcbFlyBack设计学习资料

2023-11-16

uc3843-Fairchild-RCD-snubber-design

uc3843-Fairchild_RCD_snubber_design

2023-11-16

UC3843套件的PCB原理图

UC3843套件的PCB原理图

2023-11-16

Flyback反激设计总结-Skypower天空电源.pdf

UC38423反激式开关电源12V2.5A原理图pcbFlyBack设计

2023-11-16

Flyback Design 12V 2.5A-UC3843.pdf

UC38423反激式开关电源12V2.5A原理图pcbFlyBack设计

2023-11-16

Mathcad - TL431 光耦反馈参数的计算.pdf

UC38423反激式开关电源12V2.5A原理图pcbFlyBack设计

2023-11-16

(ST大赛三等奖作品)超声波自拍神器.7z

STM32

2023-11-16

(大赛作品)STM32F072RB NUCLEO智能家居控制.7z

STM32

2023-11-16

基于STM32的二维码识别源码+二维码解码库lib.7z

STM32

2023-11-16

基于STM32F103RC的电子相册(原理图、PCB源文件、程序源码及制作).7z

STM32

2023-11-16

基于STM32 人群定位、调速智能风扇设计(程序、设计报告、视频演示).7z

STM32

2023-11-16

基于STM32的多功能数控电源设计(原理图、PCB、程序源码等).7z

STM32

2023-11-16

基于stm32 nucleo_L476的智能灯(操作说明+源码).7z

STM32

2023-11-16

基于STM32 的联合调试侦听设备解决方案(原理图、PCB源文件、调试工具、视频).7z

STM32

2023-11-16

基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发).7z

STM32

2023-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除