- 博客(133)
- 资源 (1)
- 收藏
- 关注
原创 C++判断回文字符串
通过双指针法,从字符串的两端向中间遍历,比较对应位置的字符来判断字符串是否为回文串。将字符串 s 复制到另一个字符串变量 s1 中,保留原始字符串。使用 reverse 函数反转字符串 s。首先读取一个字符串并存储在变量 s 中。比较两个字符串,判断是否为回文串。
2025-02-23 15:49:35
621
原创 C++反转字符串
2、初始化指针:使用两个指针(或索引)i和j,分别指向字符串的开头(0)和结尾(s.size() - 1)。1)在循环中,不断交换i和j所指向的字符,然后移动指针。i向右移动(i++),j向左移动(j–)。思路:用两个指针从字符串的两端同时向中间移动,并在移动过程中交换字符的位置。通过遍历字符串并从头开始逐个字符添加到新字符串前,实现字符串的反转。2)循环继续,直到i和j相遇或i超过j。4、输出反转后的字符串。
2025-02-17 22:12:51
653
原创 python栈和队列
特点:先进后出 (last-in, first-out)入栈:push()出栈:pop()栈顶:get_top()栈中元素个数:size()判断栈是否为空:empty()特点:先进先出 (First in,First out)入队:push()。队尾(rear)指针加1。出队:pop()。对头(front)指针加1。对头元素:get_front()对尾元素:get_back()队列中元素个数:length()。判断队是否为空:empty()。判断队列是否满:filled()。
2023-10-18 15:54:25
196
原创 python计数排序
1. 创建一个长度为列表长度+1 的新列表2. 找出列表中元素出现的个数,并存储到新列表中 比如列表为:1 3 1 2 6 5 6 1 数 有几个 0 0 1 3 2 1 3 1 4 0 5 1 6 23. 清除旧列表的所有元素,按照元素出现的个数,按照顺序依次添加到旧列表中...
2022-07-18 14:04:48
848
原创 C++的cin和cout
读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少?②计算总票价b=a*10。...
2022-07-18 09:55:01
365
原创 arduino电路认识
电流:电荷在导体中流动的现象。与电流类似,水的流动称为水流。电流表示电荷流动强度的大小,电流的单位是 A(Ampere,安培)。电子产品消耗的电流越大,代表越耗电。单位:A 符号:I电压:水往低处流,因为水位差的存在。同样,电荷的流动是因为有电位差的存在,电位差通常称为电压。电压表示推动电流能力的大小,电压的单位是V(Volt,伏特),符号用v表示。3. 电阻电阻:导体通过电流时,会阻碍电流通过。电阻的阻值单位是 Ω(欧姆)。电阻没有极性。注意:电阻是指导体阻碍电流通过的能力大小,不同导体阻碍
2022-07-12 10:35:44
562
原创 python归并排序
1. 拆分:将列表划分成多个不可再分的子序列,拆分到子序列中仅有 1 个元素; 2. 合并: 拆分完成后,开始合并,合并得到有序序列。
2022-07-11 23:42:09
588
原创 01背包问题
假如我们有一个背包,在我们面前摆了 i 件物品,这些物品的价值分别为 v,怎么装可以保证背包里所有物品加起来价值最大。(注意:一件物品只能拿一次
2022-06-27 20:47:54
270
原创 python之二分查找
思路:1. 先给定一个范围 比如:1-1002. 先找这个范围的一半mid,也就是数字50(下标为49)3. 如果找大了,则将最大范围设为 mid-1,此时范围为数字1-49(下标范围:0-48)4. 如果找小了,则将最小范围设为 mid+1,此时范围为数字50-100(下标范围:51-100)5. 重复2-4步骤,直到找到这个数字...
2022-06-19 21:11:06
783
原创 python函数进阶
python函数进阶1. 匿名函数2. sorted3. map4. reduce5. filter 过滤1. 匿名函数语法: lambda params(参数列表):expression定义函数 x + ydef fun(x, y): return x + yprint(fun(1, 3))输出结果:4使用匿名函数实现a = lambda x,y:x+yprint(a(2,3))输出结果:52. sortedsorted(iterable, ke
2022-05-22 19:20:37
285
原创 python的is和==
python的is和==1. is 和 ==2. 举例1. ==2. is3. a = 10 b =10,地址一样吗?1. is 和 ==万物皆对象,对象是由id(地址),type(类型),value(值)组成。is:判断两个地址是否一样,也就是说它们的引用的是否为同一个对象。== :判断两个对象的值是否相等2. 举例1. ==a = 1b = 1c = [1, 2, 3]d = [1, 2, 3, 4]print('a和b值是否相等', a == b)print('c和d
2022-05-22 10:50:54
158
原创 python上下文管理器
python上下文管理器1. 前言2. 先谈 'with'3. 上下文管理器5. 装饰器contextmanager1. 前言偶然间认识了with,但它是什么意思,有什么用?对于这些很是模糊,下面我们就细细看来。2. 先谈 ‘with’刚学习文件操作时的做法这是初学时最基础的方法,打开文件,读(写)内容,关闭文件。# 1.打开文件file = open("D:\\record.txt","r",encoding='utf-8') # 打开的文件区分大小写# 2.读取文件的内容t
2022-05-21 21:12:17
181
原创 python生成器
python生成器1. 生成器 genrator2. 创建生成器1. 利用列表推导式2. 利用yield关键字3. 使用列表创建10000000000个元素和生成器又何区别?4. yield 关键字5. 斐波那契数列1. 普通函数的方式2. 使用生成器1. 生成器 genrator生成器是一种特殊的迭代器,不会先生成数据,生成器保存的是算法。生成器被调用后,函数会保留当前的数据。2. 创建生成器1. 利用列表推导式列表推导式的[]改为()a = (i for i in range(10))
2022-05-19 20:38:37
220
原创 python二维列表
python二维列表1. 本质2. 创建二维列表3. “读” 二维列表4. "写" 二维列表5. 遍历二维列表6. 练习1. 本质二维数组本质上是以列表作为列表元素的列表。简单理解就是:二维数组的元素还是列表2. 创建二维列表例如:创建2行3列的二维数组,也就是两个一维列表,每个一维列表有三个元素(相当于2行3列)arr = [ [0,1,2], [0,1,2]]# 1. 创建一个空列表arr = [] for i in range(2)
2022-05-19 15:29:44
20905
原创 python装饰器
这里写目录标题1. 装饰器2. 我的第一个装饰器2. 语法糖3. 装饰器装饰和调用哪个先进行?4. 练习:从1打印到10000执行的时间5. 装饰器的应用1. 装饰带有参数的函数2. 装饰带有参数和返回值的函数3. 装饰带有不定长参数和返回值的函数4. 带参数的装饰器1. 装饰器什么是装饰器:它本质就是一个闭包函数,就是给已有函数 添加额外功能的函数注意:已有函数的源代码 和 调用方式 不改动对已有函数增加其它功能开放封闭原则开放封闭原则,也适用于函数式编程封闭:对于已经完
2022-05-18 19:30:43
192
原创 python基础
1. 基础语法1. 变量2. 交互- 输入和输出3. 数据类型4. 怎么获取数据类型?5. 运算符6. 格式化字符串7. [::-1]的几种用法程序的三种结构: 顺序结构 分支结构 循环结构2. 顺序结构顺序结构顺序结构练习题:反转一个三为主3. 分支结构分支结构分支结构练习题1:企业发放的奖金根据利润提成分支结构练习题2:if嵌套抛铅球分支结构练习题3:石头剪刀布分支结构练习题4:闰年判断分支结构练习题5:好友管理系统4. while循环while循环while循
2022-05-16 21:16:06
209
原创 python顺序结构
python顺序结构1. 打印2进制,8进制,16进制2. 计算正方形的周长和面积3. 梯形面积4. 计算圆的周长和面积5. 电影票6. 整数平方运算7. 求解一元二次方程8. 输入一个三位数,打印出第二位9. 买文具1. 打印2进制,8进制,16进制a = 10print('2进制',bin(a))print('16进制',hex(a))print('8进制',oct(a))2. 计算正方形的周长和面积# coding:utf8a = eval(input("请输入正方体的边长:"))
2022-05-16 20:34:25
730
原创 python运算符
python运算符1. 数值运算2. 赋值运算符3. 比较运算符4. 逻辑运算符1. 数值运算运算符符号+加-减乘/除//取整除(向下取整)%取余**指数 返回a的b次幂>>> 5 + 4 # 加法9>>> 6.6 - 2 # 减法4.6>>> 3 * 2 # 乘法6>>> 2/ 3 # 除法0.6666666666666666>&g
2022-05-16 20:21:39
146
原创 python闭包
闭包1. 闭包是什么?2. 定义闭包1. 闭包打印2. 两个数相加3. 小总结3. 使用闭包修改外部函数的变量4. 小练习1. 利用闭包聊天2. 计数器1. 闭包是什么?函数嵌套了一个函数,内部函数使用了外部函数的变量或者形参并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数 称为闭包。2. 定义闭包条件: 1、 定义函数嵌套的前提下(函数中又定义一个函数) 2、 内部函数使用了外部函数的变量或形参 3、 外部函数返回了内部函数 注意:返回函数时不能加小括号,否则就为
2022-05-15 22:00:24
145
原创 python引用,可变类型和不可变类型
python值传递和引用传递1. 值传递和引用传递2. 不可变类型int1. 改变a的值,b会改变吗?2. 函数3. 如果修改字符串内容呢?3. 可变类型列表1. 修改列表2. 函数3. 对整个列表修改呢?1. 值传递和引用传递值传递不可变类型,引用传递可变类型。不可变类型(immutable):数据不可以直接修改 例如:整数、字符串、元组可变类型(mutable): 数据可以直接被修改 例如:列表,集合,字典,对象2. 不可变类型intid():可以查看变量的内存地址1. 改变a的
2022-05-14 22:00:11
419
原创 python迭代器
python迭代器1. 迭代2. 可迭代对象3. 如何判断是否为可迭代对象?4. 迭代器Ierator1. 迭代器如何获取呢?2. 使用迭代器 iter()和next()1. 迭代在之前数据的基础上取下一个,不断重复,是访问集合元素的一种方式。例如:for循环,它就是挨个把列表中的数据打印输出for i in range(5): print(i)# 打印:0,1,2,3,42. 可迭代对象简单理解就是能够被遍历输出的python的可迭代对象有:1.可
2022-05-11 20:42:18
343
原创 python选择排序和插入排序
python选择排序和插入排序1. 选择排序2. 插入排序3. 时间复杂度1. 选择排序未排序的第一个数和其它数比较,找出最小(大)的数,放在未排序第一个数的位置a = [7,5,9,2,1]print('排序前:',a)for i in range(len(a)-1): for j in range(i+1,len(a)): if a[j] > a[i]: temp = a[j] a[j] = a[i]
2022-05-11 17:43:10
245
原创 python冒泡排序
python冒泡排序1. 解释2. 代码3. 如果使用的是有序列表呢?1. 解释对列表[ 1,4,6,7,8,5,3,9,2]进行排序每趟循环中让相邻的两个进行比较,如果前面的数大于后面的数就进行位置交换,当循环结束后,最大值就会被排到最后了。所以冒泡排序就像一个水泡从水底向上冒一样。2. 代码a = [1,4,6,7,8,5,3,9,2]print('排序前:',a)for i in range(len(a)-1): for j in range(len(a)-1-i):
2022-05-10 21:42:14
245
原创 python快速排序
快速排序1. 思路2. 举例3. 详细步骤分析4. 代码实现1. 思路从序列中任选一个元素(temp)作为中间数,列表分为两部分,把所有比 temp小的数移动到它的左边,再所有比 temp大的数移动到它的右边(简单理解:左边都比temp小,右边都比temp大)分别对左右两部分进行递归,直到左右两部分剩余一个元素2. 举例比如现在有列表: a = [6,7,4,1,8,5,3,9,2]先从列表中找 6 作为中间数,将列表分为两部分(6的左边比6小,右边比6大)对于左半部分,重复第一步的
2022-05-09 17:27:04
339
全国青少年软件编程等级考试(python一级试卷)
2023-10-31
Scratch小案例(15个)
2022-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人