Python刷题:流程控制(下)
今天刷的是PythonTip的Python 入门挑战中的题,整体难度不高,适合小白练手以及巩固知识点。下面会进行详细讲解。
每日一句
在无人问津的角落里,
默默努力的人独自发光,
孤独是他们奋斗路上的常客,
却也是成就他们的力量。
21.自然数求和
写一个程序来:计算前N个自然数的总和。
- 获取一个变量
n
的整数输入。- 运行一个从
1
到n
的循环。- 在这个循环中,计算从
1
到n
的所有数字的总和。- 打印结果。
输入格式:一个整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个整数 n
。
2.由于输入的是字符串,将其转换为整数类型,存储在 n
变量中。这是因为我们要对 n
进行计数操作,使用整数可以精确表示数量。
第二步:计算总和
1.初始化一个变量 sum_total
为 0,用于存储从 1 到 n
的数字总和。
2.使用 for
循环从 1 迭代到 n
,可以使用 for i in range(1, n + 1)
这样的语句,其中 i
是迭代变量,range(1, n + 1)
会生成从 1 到 n
的整数序列(包括 1 和 n
)。
3.在 for
循环内部,将 i
的值累加到 sum_total
中。每次迭代,sum_total
的值会更新为其原有的值加上当前迭代变量 i
的值,实现求和操作。
第三步:输出结果
使用 print()
函数将存储在 sum_total
中的总和结果打印出来,以便用户查看从 1 到 n
的自然数总和。
代码如下:
n = int(input())# 初始化累加器
add = 0# 循环
for i in range (1,n+1):# 增加i到累加器add = add + i# 打印结果
print(add)
22.一个整数的所有因子
写一个程序: 打印出一个数字的所有因子。
- 获取一个整数输入并将其分配给
number
变量。- 创建一个 "for" 循环,从1到
number
进行循环。- 在这个循环中,检查
number
是否能完全被i
整除(余数0)。- 如果是,则打印
i
的值。输入格式:一个正整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。因为我们要对这个数字进行因子的计算,使用整数类型可以确保计算的准确性。
第二步:创建并执行 for
循环
1.使用 for
循环从 1 迭代到 number
。可以使用 for i in range(1, number + 1)
这样的语句,其中 i
是迭代变量,range(1, number + 1)
会生成从 1 到 number
的整数序列(包括 1 和 number
)。
2.在 for
循环内部,检查 number
是否能被 i
整除,也就是计算 number
除以 i
的余数是否为 0。可以使用取余运算符 %
来计算余数,即 number % i == 0
。
第三步:输出因子
如果 number
除以 i
的余数为 0,说明 i
是 number
的一个因子,使用 print()
函数将 i
的值打印出来,这样就可以找到并输出 number
的所有因子。
代码如下:
number = int(input())# 循环
for i in range (1,number+1): # 判断i是否能整除 number# 如果是,打印iif number % i == 0:print(i)
23.判断质数
写一个程序: 判断一个数字是否是质数。
质数是一个只能被1或其本身整除的数字。例如,7,5,19,等等。
- 输入一个数字并赋值给变量
number
。- 判断
number
能否被从2到number
的某一个数字整除。- 如果该数可以被除,则打印 "不是质数"。否则,打印 "质数"。
输入格式:一个整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。这是因为我们要对这个数字进行质数的判断,使用整数类型便于后续的整除运算。
第二步:判断是否为质数
1.首先,考虑特殊情况,如果 number
小于等于 1,它不是质数,直接打印 "不是质数"
。
2,.对于 number
大于 1 的情况,使用 for
循环从 2 迭代到 number - 1
。可以使用 for i in range(2, number)
这样的语句,其中 i
是迭代变量,range(2, number)
会生成从 2 到 number - 1
的整数序列(包括 2 但不包括 number
)。
3.在 for
循环内部,检查 number
是否能被 i
整除,也就是计算 number
除以 i
的余数是否为 0。可以使用取余运算符 %
来计算余数,即 number % i == 0
。
4.如果 number
除以 i
的余数为 0,说明 number
能被 i
整除,那么它不是质数,使用 print()
函数打印 "不是质数"
,并使用 break
语句终止循环,因为已经确定该数不是质数,无需继续检查。
5.如果 for
循环正常结束(即没有被 break
),说明 number
不能被 2 到 number - 1
中的任何数整除,它是质数,使用 print()
函数打印 "质数"
。
代码如下:
number = int(input())# 标记number是否为质数,0是,1 不是
flag = 0# 创建一个2到`number`的循环。不包括`number`。
for i in range (2,number):# 判断循环过程的数是否能被`number`整除。# 如果是,则设置标志位,表明不是质数if number % i ==0:flag = 1# 打印是否是质数。
if flag == 0:print("质数")
else:print("不是质数")
24.一个整数有多少位?
编写一个程序来计算一个数字的位数。
- 输入一个整数并存储在
number
变量中。- 创建一个整数变量
count
并将数值0赋给它。- 创建一个
while
循环,只要number
不等于0就循环。- 循环中,每次可以将
number
整除10,得到商,从而去掉最后一个数字。count
增加1。- 在循环外,打印
count
的值。假设: 假设用户总是输入一个正数。
输入格式:一个整数
解析:
第一步:获取输入
1,.使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。这是因为我们要对该数字进行位数的计算,使用整数便于后续的数学运算。
第二步:初始化计数器
创建一个整数变量 count
并将其初始化为 0。这个变量将用于计数数字的位数。
第三步:使用 while
循环计算位数
1.使用 while
循环,只要 number
不等于 0 就执行循环体。
2.在循环内部,将 number
除以 10 取整(使用 //
运算符),得到的商存储回 number
变量中。这样每次循环会去掉 number
的最后一位数字。
3.每次循环时,将 count
的值加 1,用于记录数字的位数。
第四步:输出结果
在 while
循环结束后,使用 print()
函数将 count
的值打印出来,显示输入数字的位数。
代码如下:
number = int(input())count = 0# 如果number不等于0,就循环。
while number != 0:# 除以10。number = number // 10# 位数增加1count += 1# 打印结果
print(count)
25.不要3的倍数
写一个程序:打印从1到n的所有数字,除了3的倍数。
- 运行一个从
i = 1
到n
的for
循环。- 检查
i
是否能完全被3整除。- 如果
i
能被3整除,跳过这个循环,进入下一个迭代。- 打印
i
的值。输入格式:一个整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 n
变量中。因为我们要确定打印数字的范围,使用整数类型可以准确表示范围的上限。
第二步:创建并执行 for
循环
1.使用 for
循环从 1 迭代到 n
。可以使用 for i in range(1, n + 1)
这样的语句,其中 i
是迭代变量,range(1, n + 1)
会生成从 1 到 n
的整数序列(包括 1 和 n
)。
第三步:检查并处理数字
1.在 for
循环内部,使用取余运算符 %
来检查 i
是否能被 3 整除,即 i % 3 == 0
。
2.如果 i
能被 3 整除,使用 continue
语句跳过当前迭代,直接进入下一个迭代,不执行后续的打印操作。
3.如果 i
不能被 3 整除,使用 print()
函数将 i
的值打印出来,这样就可以打印出从 1 到 n
中除了 3 的倍数以外的所有数字。
代码如下:
n = int(input())# 循环
for i in range (1, n+1):# 是否能被3整除if i % 3 == 0:# 如果是,跳过continue# 打印print(i)
26.直到用户输入0
写一个程序:打印数字,直到用户输入0则停止。
- 运行一个始终为
True
的 while 循环。- 在这个循环中,用户输入一个整数值,并把它存储在
number
变量中。- 判断该值是否为0。
- 如果输入值是0,则终止循环。
- 否打印所有
number
的值。输入格式:多个整数
解析:
第一步:设置循环
使用 while True
创建一个无限循环,因为要持续接收用户输入,直到输入为 0 才停止。
第二步:获取用户输入
1.在 while
循环内部,使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。这是为了对用户输入的数字进行判断和处理。
第三步:检查输入并处理
1.使用 if
语句检查 number
的值是否为 0。
2.如果 number
为 0,使用 break
语句终止 while
循环,因为输入为 0 时程序应该停止接收和打印数字。
3.如果 number
不为 0,使用 print()
函数将 number
的值打印出来,以显示用户输入的非零数字。
代码如下:
# 一直为真的循环
while True:# 输入一个数字number = int(input())# 如果是0停止循环if number == 0:break# 打印数字print(number)
27.打印正整数
编写一个程序:打印正整数数字。
- 运行一个条件为真的循环
while True:
- 在每次循环中,输入一个整数值,并将其存储在
number
变量中。- 检查
number
是否小于0。如果是,跳过当前迭代。- 检查
number
是否等于0。如果是,终止循环。- 如果用户输入的是一个正数,打印所有
number
的值。输入格式:多个整数
解析:
第一步:设置循环
使用 while True
创建一个无限循环,因为程序需要不断接收用户的输入,直到满足终止条件。
第二步:获取用户输入
1.在 while
循环内部,使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。这样做是为了方便后续对输入数字进行大小比较和其他处理。
第三步:检查输入数字并进行相应处理
1.使用 if
语句检查 number
是否小于 0。
2.如果 number
小于 0,使用 continue
语句跳过当前迭代,直接进入下一次迭代,不进行后续的操作。
3.使用另一个 if
语句检查 number
是否等于 0。
4.如果 number
等于 0,使用 break
语句终止 while
循环,因为当输入为 0 时,程序需要停止运行。
5.如果 number
是正数(既不小于 0 也不等于 0),使用 print()
函数将 number
的值打印出来,这样用户输入的正整数将被输出。
代码如下:
# 一直为真的循环
while True:# 输入一个数字number = int(input())# 判断是否小于0if number < 0 :continue# 判断是否等于0if number == 0 :break# 打印数字print(number)
28.斐波那契数列
写一个程序:打印斐波那契数列。
提示:斐波那契数列是一系列的数字,其中下一个数字是前面两个数字的和。例如:
1 1 2 3 5 8 ...
任务:
- 输入一个整数,并将其存储在
n
中。- 定义两个整数变量
t1
和t2
,其值均为1。- 使用一个
for
循环,从i = 1
到n
,包括n
进行循环。- 在每个循环中
- 打印
t1
的值。- 定义
result
为t1
和t2
之和。- 将
t2
的值分配给t1
。- 将
result
的值分配给t2
。输入格式:一个正整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个正整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 n
变量中。这是因为 n
将决定斐波那契数列的长度,使用整数可以精确表示数列的项数。
第二步:初始化变量
1.定义两个整数变量 t1
和 t2
,并将它们的值初始化为 1。这是斐波那契数列的前两项,后续的项将基于这两项计算得出。
第三步:使用 for
循环生成斐波那契数列
1.使用 for
循环从 1 迭代到 n
。可以使用 for i in range(1, n + 1)
这样的语句,其中 i
是迭代变量,range(1, n + 1)
会生成从 1 到 n
的整数序列(包括 1 和 n
)。
2.在 for
循环内部:
(1).首先,使用 print()
函数打印 t1
的值,因为 t1
是当前斐波那契数列的项。
(2).计算 result
,它是 t1
和 t2
的和,使用 result = t1 + t2
。
(3).将 t2
的值赋给 t1
,这是将当前项更新为前一项,为下一个数的计算做准备。
(4).将 result
的值赋给 t2
,这是将 result
作为下一项的计算结果存储起来,用于下一次迭代。
代码如下:
n = int(input())
t1 = 1
t2 = 1
result = 0# 1到n的循环
for i in range(1,n+1):# 打印t1print(t1)# 定义result为t1和t2之和result = t1 + t2# 将 `t2` 的值分配给 `t1`t1 = t2# 将 `result` 的值分配给 `t2`t2 = result
29.打印小于n的斐波那契数
写一个程序:打印所有小于n的斐波那契数。
提示: 斐波那契数列是一系列的数字,其中一个数字是最后两个数字的相加。比如说:
1 1 2 3 5 ...
任务:
- 接受用户的整数输入,并将其存储在
n
中。- 定义两个整数变量
t1
和t2
,其值均为1。- 当
t1
小于n
时,运行循环。- 在每个循环中,打印
t1
的值。- 同时,定义
result
变量为t1
和t2
之和。- 将
t2
的值分配给t1
。- 将
result
的值分配给t2
。输入格式:一个正整数
解析:
第一步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个正整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 n
变量中。因为我们要根据这个数字 n
来确定打印斐波那契数的范围,使用整数可以更准确地进行比较和计算。
第二步:初始化变量
定义两个整数变量 t1
和 t2
,并将它们的值初始化为 1。这是斐波那契数列的前两项,后续的项将基于这两项计算得出。
第三步:使用循环打印小于 n
的斐波那契数
1.使用 while
循环,循环条件为 t1 < n
。只要 t1
的值小于 n
,就会一直执行循环。
2.在 while
循环内部:
(1).首先,使用 print()
函数打印 t1
的值,因为 t1
是当前斐波那契数。
(2).计算 result
,它是 t1
和 t2
的和,使用 result = t1 + t2
。
(3).将 t2
的值赋给 t1
,这是将当前项更新为前一项,为下一个数的计算做准备。
(4).将 result
的值赋给 t2
,这是将 result
作为下一项的计算结果存储起来,用于下一次迭代。
代码如下:
n = int(input())
t1 = 1
t2 = 1
result = 0#循环
while t1 < n:# 打印t1print(t1)# 定义result 为t1和t2之和result = t1 +t2# 将t2的值分配给t1t1 =t2# 将result的值分配给t2t2 = result
30.判断完全平方数
写一个程序:判断一个数字是否是完全平方数。
- 导入
math
模块。- 获取一个整数输入,并存储在
number
变量中。- 使用
sqrt()
函数找到该数字的平方根,并将其分配给square_root
变量。- 使用
%
运算符得对1取余,计算出的平方根的余数,并把它赋给check_remainder
。- 如果余数等于0,打印
完全平方数
。- 否则打印
非完全平方数
。输入格式:一个整数
解析:
第一步:导入模块
首先,使用 import math
导入 math
模块。这个模块提供了许多数学函数,其中 sqrt()
函数将用于计算数字的平方根。
第二步:获取输入
1.使用 input()
函数从用户处获取一个输入,表示一个整数。
2.由于输入的是字符串,将其转换为整数类型,存储在 number
变量中。这是因为我们要对这个数字进行完全平方数的判断,使用整数类型可以保证计算的准确性。
第三步:计算平方根并检查余数
1.使用 math.sqrt()
函数计算 number
的平方根,并将结果存储在 square_root
变量中。
2.使用取余运算符 %
计算 square_root
对 1 取余的结果,并将其存储在 check_remainder
变量中。
第四步:判断并输出结果
1.使用 if
语句检查 check_remainder
是否等于 0。
2.如果 check_remainder
等于 0,说明 number
是完全平方数,使用 print()
函数打印 "完全平方数"
。
3.否则,说明 number
不是完全平方数,使用 print()
函数打印 "非完全平方数"
。
代码如下:
# 导入math模块
import mathnumber = int(input())# 计算平方根
square_root = math.sqrt(number)# 对1取余
check_remainder = number % square_root# 如果余数等于0,打印"完全平方数";否则打印"非完全平方数"
if check_remainder == 0:print("完全平方数")
else:print("非完全平方数")
总结
以上这些题目极为基础,对于语法学习尚处入门阶段的小白而言,是检测自身语法是否达标的理想之选。
持续更新~
相关文章:
Python刷题:流程控制(下)
今天刷的是PythonTip的Python 入门挑战中的题,整体难度不高,适合小白练手以及巩固知识点。下面会进行详细讲解。 每日一句 在无人问津的角落里, 默默努力的人独自发光, 孤独是他们奋斗路上的常客, 却也是成就他们的…...
【Bootstrap V4系列】学习入门教程之 组件-徽章(Badge)和面包屑导航(Breadcrumb)
Bootstrap V4系列 学习入门教程之 组件-徽章(Badge)和面包屑导航(Breadcrumb) 徽章(Badge)一、示例二、根据情境改变外观三、胶囊式徽章(Pill badges)四、链接 面包屑导航࿰…...
结合强化学习RL和SFT各自训练优势,让模型边学边练,从而平衡Zero-RL训练中的模仿和探索!!
摘要:最近在大型推理模型(LRMs)方面的进展表明,通过简单的基于规则的奖励进行强化学习(RL),可以涌现出复杂的行为,例如多步推理和自我反思。然而,现有的零强化学习&#…...
ai之paddleOCR 识别PDF python312和paddle版本冲突 GLIBCXX_3.4.30
这里写自定义目录标题 问题一**解决方案****方法 1:使用符号链接将系统库链接到 Conda 环境** **补充说明****验证修复结果** 问题二:**问题根源****解决方案****1. 确认 TensorRT 安装状态****2. 安装 TensorRT 并配置环境变量****3. 验证 TensorRT 与 …...
C++ 单例模式详解
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。 概念解析 单例模式的核心思想是: 限制类的实例化次数,确保在整个应用程序中只有一个实例存在 提供对该实例的全局访问点 控制共享…...
生成器模式(Builder Pattern)
好问题!生成器模式(Builder Pattern)在现实生活和程序开发中非常常见,它适合创建**“一步一步搭建起来的复杂对象”**。 🧠 一句话定义 生成器模式(Builder Pattern)是一种将复杂对象的构建过程…...
计算机网络八股文--day4 --传输层TCP与UDP
这是面试中最常考到的一层:端到端(也就是进程之间)的透明数据传输服务,差错控制和流量控制 该层呈上启下,像上面的资源子网提高服务,并使用下面通信子网的服务 端口,用于唯一标识主机上进程的&…...
大型语言模型个性化助手实现
大型语言模型个性化助手实现 目录 大型语言模型个性化助手实现PERSONAMEM,以及用户资料和对话模拟管道7种原位用户查询类型关于大语言模型个性化能力评估的研究大型语言模型(LLMs)已经成为用户在各种任务中的个性化助手,从提供写作支持到提供量身定制的建议或咨询。随着时间…...
步进电机中断函数解释
STM32 motor111.c 中 HAL_TIM_PeriodElapsedCallback 函数逐行解释 下面我们对 STM32 项目中 motor111.c 文件里的 HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) 函数进行逐行解析,帮助初学者理解每一行代码的作用。此函数是在定时器产生更新中断时被调…...
多把锁以及线程死锁问题
在 Java 中,每一个对象都可以作为一把锁,synchronized 通过获取对象头中的锁标志位来实现同步。当一个线程获取到对象的锁后,其他线程就无法再获取该锁,只能等待获取到锁的线程释放锁之后才能继续执行被 synchronized 修饰的代码块…...
Vue 3 Element Plus 浏览器使用例子
Element Plus 是一个基于 Vue 3 的流行开源 UI 库,提供了一系列的组件,帮助开发者快速构建现代化的用户界面。它的设计简洁、现代,包含了许多可定制的组件,如按钮、表格、表单、对话框等,适合用于开发各种 Web 应用。 …...
NoxLucky:个性化动态桌面,打造独一无二的手机体验
在数字时代,手机桌面的个性化设置已经成为许多人表达自我和展示个性的重要方式。今天,我们要介绍的 NoxLucky,就是这样一款功能强大的动态桌面手机应用。它不仅提供了独家的动态壁纸素材库,还支持将抖音、INS等平台的短视频直接设…...
如何在WORD WPS中输入英语音标 批量给英语标注音标
在我国,英语的学习,已经是贯穿小学到大学的课程,英语学习,关键是听说读写,而听说读,都离不开一个字--音,这就涉及到了英语的音标了。音标(Phonetics)是表示单词发音的一种…...
RUST变量学习笔记
1,作用域概念 捕获环境 2,所有权概念 Rust则是通过所有权和借用来保证内存安全。很多人不理解为啥说Rust是内存安全的,其实就是在默认情况下,你是写不出内存不安全的代码的。 Rust的所有权并不难理解,它有且只有如下…...
n8n工作流自动化平台的实操:本地化高级部署
一、本地高级部署 1.下载 docker pull docker.n8n.io/n8nio/n8n 2.运行 docker volume create n8n_data docker run -dit --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n -e N8N_SECURE_COOKIEfalse -e N8N_RUNNERS_ENABLEDtrue -e N8N_ENFORCE_SETTINGS_FIL…...
【Ansible自动化运维实战:从Playbook到负载均衡指南】
本文是「VagrantVirtualBox虚拟化环境搭建」的续篇,深入探索Ansible在自动化运维中的核心应用: ✅ Ansible核心技能:Playbook编写、角色(Roles)模块化、标签(Tags)精准控制 ✅ 实战场景覆盖&a…...
数据赋能(210)——质量管理——可靠性原则
概述 数据可靠性原则确保数据的准确性、完整性、一致性和可信性,是决策和业务活动对数据质量的基本要求。在信息化和数字化快速发展的今天,数据已成为企业的重要资产,数据可靠性直接影响到企业的决策质量和业务活动效果。数据可靠性是数据质…...
二、机器学习中Python变量基础
二、Python变量基础 像C语言和Matlab一样,变量名由字母、数字、下划线组成(但不能以数字开头,字母区分大小写)变量名不能与内置的函数同名。 根据变量是否可以充当容器,将变量类型分为基本类型和高级类型。 基本变量…...
有机玻璃材质数据采集活性炭吸附气体中二氧化硫实验装置
JGQ112Ⅱ有机玻璃材质数据采集活性炭吸附气体中二氧化硫实验装置 一.实验目的 1.熟悉活性炭吸附剂的特性和在SO2气体净化方面的应用。 2.掌握活性炭吸附法的流程和实验过程中各参数的控制方法。 3.了解主要参数变化对吸附效率的影响。 4.掌握吸附等温线概念和测定方法。 二.技术…...
Javase 基础入门 —— 07 接口
本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。 01 概述 接…...
LangChain:重构大语言模型应用开发的范式革命
2022年10月22日,Harrison Chase在GitHub上提交了名为LangChain的开源项目的第一个代码版本。这个看似普通的代码提交,却悄然开启了一场重塑大语言模型(LLM)应用开发范式的技术革命。彼时,距离ChatGPT引爆全球人工智能浪…...
【现代深度学习技术】现代循环神经网络04:双向循环神经网络
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
重塑数学边界:人工智能如何引领数学研究的新纪元
目录 一、人工智能如何重新定义数学研究的边界 (一)数学与AI的关系:从基础理论到创新思维的回馈 (二)AI的创造力:突破传统推理的局限 (三)AI对数学研究的潜在贡献:创…...
链表的回文结构题解
首先阅读题目: 1.要保证是回文结构 2.他的时间复杂度为O(n)、空间复杂度为O(1) 给出思路: 1.首先利用一个函数找到中间节点 2.利用一个函数逆置中间节点往后的所有节点 3.现在有两个链表,第一个链表取头节点一直到中间节点、第二个链表取头结点到尾…...
xLua笔记
Generate Code干了什么 肉眼可见的,在Asset文件夹生成了XLua/Gen文件夹,里面有一些脚本。然后对加了[CSharpCallLua]的变量寻找引用,发现它被XLua/Gen/DelegatesGensBridge引用了。也可以在这里查哪些类型加了[CSharpCallLua]。 public over…...
【Hive入门】Hive与Spark SQL深度集成:通过Spark ThriftServer高效查询Hive表
目录 引言 1 Spark ThriftServer架构解析 1.1 核心组件与工作原理 1.2 与传统HiveServer2的对比 2 Spark ThriftServer部署指南 2.1 环境准备与启动流程 2.1.1 前置条件检查 2.1.2 服务启动流程 2.2 高可用部署方案 2.2.1 基于ZooKeeper的HA架构 3 性能优化实战 3.…...
快速掌握--cursor
Cursor - The AI Code Editor 官网下载安装 详细教程:cursor 下载安装使用(保姆教程)_cursor下载-CSDN博客 不知道为啥,第一次给我用的是繁体回答 然后改了一下询问方式 codebase就是告诉ai可以从整个项目中找答案࿰…...
Linux之基础开发工具(yum,vim,gcc,g++)
目录 一、软件包管理器 1.1、什么是软件包 1.2、yum具体操作 1.2.1、查看软件包 1.2.2、安装软件 1.2.3、卸载软件 1.2.4、安装源 二、编辑器vim 2.1、vim的基本概念 2.2、vim的基本操作 2.3、vim正常模式命令集 2.4、vim末行模式命令集 2.5、替换模式 2.6、视图…...
【计算机视觉】三维重建: OpenMVS:工业级多视图立体视觉重建框架
深度解析OpenMVS:工业级多视图立体视觉重建框架 技术架构与核心算法1. 系统架构设计2. 核心算法解析稠密点云重建表面重建网格优化 实战全流程指南环境配置硬件要求编译安装(Ubuntu) 数据处理流程输入准备(OpenMVG输出)…...
C++负载均衡远程调用学习之异步消息任务功能与连接属性
目录 1.LarV0.11-异步消息机制的event_loop增添属性分析 2.LARS 3.LarV0.11异步消息发送机制的实现及测试 4.LarV0.11异步消息任务机制bug修复和效果演示 5.LarV0.12链接参数属性的绑定 1.LarV0.11-异步消息机制的event_loop增添属性分析 ## 4) 事件触发event_loop …...
内存性能测试方法
写于 2022 年 6 月 24 日 内存性能测试方法 - Wesley’s Blog dd方法测试 cat proc/meminfo console:/ # cat proc/meminfo MemTotal: 3858576 kB MemFree: 675328 kB MemAvailable: 1142452 kB Buffers: 65280 kB Cached: 992252 …...
游戏引擎学习第256天:XBox 控制器卡顿和修复 GL Blit 伽玛问题
回顾并为今天定下基调 今天的主要任务是让我们的性能分析工具正常工作,因为昨天已经完成了结构性工作。现在,剩下的工作大部分应该是调试和美化。性能分析工具现在应该已经基本可用了。昨天我们在这个方面取得了很大的进展。 接下来,我们将…...
4.29-4.30 Maven+单元测试
单元测试: BeforeAll在所有的单元测试方法运行之前,运行一次。 AfterAll在所有单元测试方法运行之后,运行一次。 BeforeEach在每个单元测试方法运行之前,都会运行一次 AfterEach在每个单元测试方法运行之后,都会运行…...
Android 端如何监控 ANR、Crash、OOM 等严重问题
在移动互联网时代,Android 应用已经成为我们生活中不可或缺的一部分。从社交聊天到在线购物,从娱乐消遣到办公学习,几乎每个人的手机里都装满了各式各样的应用。然而,作为开发者,咱们得面对一个残酷的现实:…...
Spring Boot 微服务打包为 Docker 镜像并部署到镜像仓库实战案例
案例项目素材可以拉取我github上的: https://github.com/AcademicTECHNERD/SpringCoudEurekaDemo 下面的案例将把我的product-service(也就是提供者)打包为镜像 执行maven命令: mvn clean package -DskipTests在根目录加一个dock…...
springAop代理责任链模式源码解析
目录 两次匹配 Bean 后置处理器中的匹配 方法调用时的匹配 Bean后置处理器中Advisor匹配流程 方法调用时的匹配 Jdk cglib 小小总结 Advisor 收集与排序 责任链执行过程 两次匹配 Bean 后置处理器中的匹配 在 Bean 初始化过程中,Spring 会通过 Bean 后置…...
ElasticSearch深入解析(九):Object、Nested、Flattened类型
文章目录 一、Object 类型:默认的嵌套对象处理方式核心原理典型场景关键限制 二、Nested 类型:解决嵌套数组的关联查询核心原理典型场景使用示例注意事项 三、Join 类型:跨文档的父子关联核心原理典型场景使用示例注意事项 四、Flattened 类型…...
list的迭代器详讲
1.list的迭代器就是封装了节点指针的类 2.迭代器失效 迭代器失效即迭代器封装的节点指针无效 。因为 list 的底层结构为带头结点的双向循环链表 ,因此 在 list 中进行插入时是不会导致 list 的迭代 器失效的,只有在删除时才会失效,并且失效的…...
动态规划之多状态问题1
题目解析: 也就是给一个预约数组,选择一些数字,让其总和最大,但不能选择相邻的两个数字 算法原理: 依旧可以根据经验题目 以dp[i]位置结尾时,巴拉巴拉 根据题目要求补充完整,dp[i]ÿ…...
音视频开源项目列表
音视频开源项目列表 一、多媒体处理框架 通用音视频处理 FFmpeg - https://github.com/FFmpeg/FFmpeg 最强大的音视频处理工具库支持几乎所有格式的编解码提供命令行工具和开发库 GStreamer - https://gitlab.freedesktop.org/gstreamer/gstreamer 跨平台多媒体框架基于管道…...
论微服务架构及其应用
试题四 论微服务架构及其应用 微服务提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。在微服务架构中,每个服务…...
Spring Cloud与Service Mesh集成:Istio服务网格实践
文章目录 引言一、Spring Cloud与Service Mesh概述二、Istio服务网格架构三、Spring Cloud与Istio集成的基础设施准备四、服务发现与负载均衡五、流量管理与弹性模式六、安全通信与认证授权七、可观测性集成八、配置管理集成总结 引言 微服务架构已成为现代分布式系统的主流设…...
Day109 | 灵神 | 148.排序链表 | 归并排序
Day109 | 灵神 | 148.排序链表 | 归并排序 148. 排序链表 - 力扣(LeetCode) 以下是灵神的题解,笔者认为这题只要可以看懂就好了 两种方法:分治和迭代 文章目录 Day109 | 灵神 | 148.排序链表 | 归并排序前置题目方法一&#x…...
[更新完毕]2025东三省C题深圳杯C题数学建模挑战赛数模思路代码文章教学: 分布式能源接入配电网的风险分析
完整内容请看文章最下面的推广群 分布式能源接入配电网的风险分析 摘要 随着可再生能源渗透率的不断提升,分布式光伏发电在配电网中的大规模接入给传统电力系统运行带来了新的挑战。光伏发电固有的间歇性和波动性特征,加之配电网拓扑结构的复杂性&…...
ActiveMQ 集群搭建与高可用方案设计(二)
五、高可用方案设计与优化 (一)Zookeeper 在 ActiveMQ 集群中的应用 作用:在 ActiveMQ 集群中,Zookeeper 扮演着至关重要的角色。它主要用于选举 Master 节点,通过其内部的选举机制,从众多的 ActiveMQ Br…...
多协议 Tracker 系统架构与传感融合实战 第六章 多传感器时钟同步与数据对齐
第六章 多传感器时钟同步与数据对齐 摘要 本章围绕多源传感融合系统中——尤其是 IMU 与 UWB——的时钟同步与数据对齐问题展开,系统介绍: 硬件时钟源类型及漂移特性 软件校准策略:NTP/PTP 与自定义心跳同步 多源时钟同步算法:两阶段对齐与漂移补偿 数据缓冲与双队列对齐架…...
【算法基础】插入排序算法 - JAVA
一、算法基础 1.1 什么是插入排序 插入排序是一种简单直观的排序算法,它的工作原理类似于我们打牌时整理手牌的过程。插入排序的核心思想是将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的适当位置。 1.…...
#Paper Reading# DeepSeek-R1
论文题目: DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 论文地址: https://arxiv.org/pdf/2501.12948 论文发表于: arXiv 2025年1月 论文所属单位: DeepSeek 论文大体内容 本文提出DeepSeek-R1模型,主要是以DeepSeek-V3[…...
HTML与CSS实现风车旋转图形的代码技术详解
在前端开发中,HTML和CSS是构建网页的基础技术。通过巧妙运用HTML的结构搭建和CSS的样式控制,我们能够实现各种精美的视觉效果。本文将对一段实现旋转图形效果的HTML和CSS代码进行详细解读,剖析其中的技术要点。 一、运行效果 HTML与CSS实现风…...
AWS在跨境电商中的全场景实践与未来生态构建
AWS在跨境电商中的全场景实践与未来生态构建 一、核心应用场景与技术赋能 1. AI驱动运营效率革命 • 智能选品与市场分析:通过Amazon SageMaker机器学习平台,跨境电商企业可构建精准选品模型。陕西自贸试验区案例显示,AI对亚马逊等平台销…...