当前位置: 首页 > news >正文

python程序控制结构

文章目录

  • 一、python程序控制结构介绍
  • 二、顺序结构
    • 2.1、print()函数
    • 2.2、end参数
    • 2.3、input()函数
  • 三、选择结构
    • 3.1选择结构的用途
  • 四、循环结构
    • 4.1循环结构的构造
      • 4.1.1、循环结构的三个要素
      • 4.1.2、循环结构的一个要求
      • 4.1.3、循环结构的一个关系
    • 4.2、循环语句
      • 4.2.1、while语句
      • 4.3.1、for语句
  • 五、程序异常处理
    • 5.1、python中常见的异常类型


一、python程序控制结构介绍

计算机程序由多行代码组成,这些代码是按照一定的结构来组织的,这些结构称为程序控制结构。

python程序的三种结构:

  • 顺序结构是最简单的一种结构,计算机在执行顺序结构的程序是,按照书写的代码的先后顺序,自上而下的逐条执行,中间没有跳跃和重复。
  • 选择结构也称为分支结构,程序根据条件判断结构来选择不同的执行路径,根据分支路径的完备性选择结构包括单分支结构和双分支结构,双分支结构组合形成多分支结构。
  • 循环结构是让计算机重复执行某些语句的结构,在循环结构中,也存在一个条件,计算机执行到循环结构时,会根据条件是否满足来判断是否需要重复执行某些语句,执行一次那些语句后,再对条件进行判断,看是否需要再一次执行那些语句,如果不需要就退出循环结构。

二、顺序结构

输入和输出都是以计算机主机作为主体,从计算机向外部设备输送数据称为输出,从外部设备向计算机输送数据称为输入。

2.1、print()函数

在Python中,print()函数是用于将指定的内容打印到控制台;可以打印文本字符串、数字、变量等。

print()函数的功能:

  • 输出常量信息,如果希望输出常量,就将常量写在输出项的位置,直接输出该常量的值。
  • 输出变量的值,如果希望输出变量的值,就将变量名写在输出项的位置,输出执行运算后该变量的值。
  • 输出表达式的值,如果希望计算并输出表达式的值,就在输出项的位置书写表达式,输出该表达式计算的结果。
  • 输出多项内容时需要使用“,”将其隔离,即可输出多项内容。

以下是print()函数的使用:

print("Hello, World!")D:\pythonLED\python.exe E:/pythonProject/1.py
Hello, World!Process finished with exit code 0
name = "Alice"
age = 30
print("My name is", name, "and my age is", age)D:\pythonLED\python.exe E:/pythonProject/1.py
My name is Alice and my age is 30Process finished with exit code 0

2.2、end参数

在 Python 的 print() 函数中,end 参数表示在打印内容后要添加的结尾字符,默认情况下是换行符 “\n”。当使用 print() 函数打印多个内容时,每次调用 print() 函数默认会在内容后自动添加换行符,使得每个内容都单独显示在一行上。

通过指定 end 参数,可以改变默认的结尾字符为其他字符,或者干脆不添加结尾字符。

以下是end参数的使用:

print("Hello", end=" ")
print("World", end="!!!")D:\pythonLED\python.exe E:/pythonProject/1.py
Hello World!!!
Process finished with exit code 0
print("Hello", end="")
print("World")D:\pythonLED\python.exe E:/pythonProject/1.py
HelloWorldProcess finished with exit code 0

2.3、input()函数

input()函数的功能是从键盘获取数据,然后保存到指定的变量中,input()函数获取的数据都以字符串的形式输入,即使通过键盘输入的是数字,input()函数得到的也是字符串,如果希望把键盘输入的数据转为数值类型,可以在使用input()函数时搭配eval()函数,eval()函数的功能是将字符串的引号去掉,然后对引号中的表达式进行解析和计算。

以下是input()函数与eval()函数一起使用的代码:

curname = input('你现有金额是多少:')
print('请输入:',curname,'兑换美元的汇率是:',end="")
rate = eval(input())
amount = eval(input("请输入你需要兑换的美元的数量:"))
print(amount * rate,curname,'可以兑换:',amount,'美元')D:\pythonLED\python.exe E:/pythonProject/1.py
你现有金额是多少:100
请输入: 100 兑换美元的汇率是:7.28
请输入你需要兑换的美元的数量:10
72.8 100 可以兑换: 10 美元Process finished with exit code 0

三、选择结构

3.1选择结构的用途

选择结构通过一个或多个条件的计算结果(True或False)选择性执行备选语句块。

选择结构可以分为单分支结构,双分支结构和多分支结构。

单分支结构:该结构中只有一个条件,功能是当条件成立时执行某行语句块,当条件不成立时直接跳过这个分支。

双分支结构:该结构中只有一个条件,功能是当条件成立时执行语句块1,不成立时执行语句块2。

多分支结构:该结构中有多个条件,每个条件对应一个语句块,其功能是根据给定的条件成立与否,从多个方案中选择某一个方案来执行。

单分支结构代码如下:

s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s > ls:print("车辆超速")D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
限制速度为:60Process finished with exit code 0
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s > ls:print("车辆超速")D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:80
限制速度为:50
车辆超速Process finished with exit code 0

双分支结构代码如下:

s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s < ls:m = '正常通过'
else:m = '超速通过'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
限制速度为:60
车辆 正常通过Process finished with exit code 0
s = eval(input("车辆速度为:"))
ls = eval(input("限制速度为:"))
if s < ls:m = '正常通过'
else:m = '超速通过'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:80
限制速度为:60
车辆 超速通过Process finished with exit code 0

多分支结构代码如下:

s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:100
车辆 车辆扣留Process finished with exit code 0
s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)D:\pythonLED\python.exe E:/pythonProject/1.py
车辆速度为:50
车辆 正常通过Process finished with exit code 0
s = int(input("车辆速度为:"))
ls = 50
r = (s-ls) /ls
if r < 0.1:m = '正常通过'
elif 0.1 < r < 0.2:m = '罚款40元'
elif 0.2 < r < 0.3:m = '罚款50元'
elif 0.3 < r < 0.4:m = '罚款60元'
elif 0.4 < r < 0.5:m = '罚款70元'
elif 0.5 < r < 0.6:m = '罚款80元'
else:m = '车辆扣留'
print("车辆",m)

四、循环结构

循环结构是控制程序运行的一类重要结构,与选择结构控制程序执行类似,它的作用是根据某个条件控制一段语句被重复执行的次数。

4.1循环结构的构造

4.1.1、循环结构的三个要素

循环结构可以划分为三个部分:

  • 一是重复执行的程序块或语句组,称为循环体。
  • 二是循环条件,用于控制程序流程是继续进入循环体还是退出循环体终止循环操作。
  • 三是循环体内的变量,这些变量的初值需要在循环开始前设定,这就是循环的初始化。

设计循环体:将需要被重复执行的语句放入循环体。

设置循环条件:采用“计数”或“设置条件”等方法,在这里控制循环的变量称为循环变量。

初始化:对循环中要使用的变量赋初值。

4.1.2、循环结构的一个要求

循环条件中通常有一个变量,这个变量的值一开始是符合条件要求的,但是当循环不断执行时,这个变量的值也在不断变化,最终这个变量的值将不再满足条件要求,这个时候循环结束。这个控制循环执行或结束的变量称为循环变量。为了防止进入无限循环,这里必须对循环变量有“一个要求”:循环变量必须在循环体内变化,只有满足了这个要求,循环变量才能逐渐逼近循环条件的临界点,最终控制循环结束。

4.1.3、循环结构的一个关系

在循环体中可能出现另一些变化的量,我们的解决方法就是去找这些变化的量与循环变量之间的关系,这就是循环结构中的“一个关系”。也就是说,利用循环变量在循环过程中不断变化这个基础,找出变化的量与循环变量之间的演变关系,来确定变化的量。

4.2、循环语句

4.2.1、while语句

while语句是一种控制流语句,用于在给定条件为真时重复执行一段代码块。
基本语法

  • 结构:while语句的基本格式是while 判断条件: #执行语句。这里的判断条件是一个布尔表达式,当它评估为True时,循环体内的语句将被执行。
  • 循环体:执行语句可以是单个语句或语句块。如果循环体内只有一条语句,可以和while写在同一行,如果有多条语句,需要缩进形成代码块。

判断条件

  • 表达式:判断条件通常是比较运算符或逻辑运算符组成的表达式。只要这个表达式的值为True,循环就会继续执行。
  • 更新:通常在循环体内部会包含至少一个语句来修改判断条件中的变量,以避免造成无限循环。

流程控制

  • break和continue:在while循环中,可以使用break来立即退出循环,使用continue来跳过当前迭代的剩余部分并进入下一次循环。
  • else子句:在while循环后可以使用可选的else子句,当循环正常结束(而非由于break)时,会执行else块中的代码。

注意事项

  • 避免无限循环:确保循环有一个明确的退出条件,否则可能会造成程序挂起或过高的资源消耗。
  • 变量作用域:在循环内部定义的变量将影响循环的行为,应谨慎管理这些变量的作用域和值。
s = 0
b = 1
while b < 10:s = s + bb += 1print("1+2+3+4+5+6+7+8+9=",s)D:\pythonLED\python.exe E:/pythonProject/1.py
1+2+3+4+5+6+7+8+9= 1
1+2+3+4+5+6+7+8+9= 3
1+2+3+4+5+6+7+8+9= 6
1+2+3+4+5+6+7+8+9= 10
1+2+3+4+5+6+7+8+9= 15
1+2+3+4+5+6+7+8+9= 21
1+2+3+4+5+6+7+8+9= 28
1+2+3+4+5+6+7+8+9= 36
1+2+3+4+5+6+7+8+9= 45
capital = 10000
interest = 0.008
t = 1
while capital <= 100000:capital = capital * (1 + interest)t += 1
print(t)D:\pythonLED\python.exe E:/pythonProject/1.py
290
while True:print("当前计数为:", count)count += 1if count == 5:print("计数达到5,跳过本次迭代")continueif count == 10:print("计数达到10,退出循环")breakD:\pythonLED\python.exe E:/pythonProject/1.py
当前计数为: 0
当前计数为: 1
当前计数为: 2
当前计数为: 3
当前计数为: 4
计数达到5,跳过本次迭代
当前计数为: 5
当前计数为: 6
当前计数为: 7
当前计数为: 8
当前计数为: 9
计数达到10,退出循环

4.3.1、for语句

for语句在Python编程中扮演着核心角色,特别是在处理集合数据时,其简洁的语法和强大的功能使得它成为最常用的控制流结构之一。

基本语法与结构:

  • for语句的基本语法格式是for 变量 in 序列: #执行的代码块。这里的“变量”会依次从“序列”中取值,每取一个值执行一次代码块中的语句。
  • 例如,使用for循环遍历一个包含五个元素的列表,可以按照for i in [0, 1, 2, 3, 4]: print(i)的形式编写代码。

遍历与操作:

  • 当序列为字符串时,for循环可以逐个字符地遍历字符串。例如,for char in “Hello”: print(char)将会分别输出字符’H’, ‘e’, ‘l’, ‘l’, ‘o’。
  • 如果需要在遍历过程中获取元素的索引,可以使用内置函数enumerate()。例如,for index, value in enumerate([“a”, “b”, “c”]): print(index, value)会输出每个元素的索引和值。

range()与循环次数:

  • range()函数常与for循环一起使用,以指定循环的次数。例如,for i in range(5): print(i)将打印数字0到4,适用于需要在确定次数内重复执行代码的场景。
  • range()函数还支持设置起始值,结束值以及步长,例如range(1, 10, 2)生成一个从1开始到10(不含)结束的序列,步长为2。

嵌套循环与复杂控制:

  • for循环可以嵌套使用,以处理更复杂的任务。例如,打印一个乘法表可以利用两层for循环来实现:for i in range(1, 10): for j in range(1, i+1): print(f"{j}x{i}={j*i}“, end=” ")。
  • 类似于while循环,for循环也可以使用break和continue语句来控制循环的流程。break用于完全退出循环,而continue用于跳过当前迭代。

错误与避免无限循环:

  • 在使用for循环时,应注意防止因逻辑错误导致的无限循环。尽管for循环由于其明确的迭代次数而较少遇到此类问题,但错误的循环终止条件仍然可能导致程序挂起。
s = 0
for i in range(1,11):s = s + i
print("1+2+3+4+5+6+7+8+9=",s)D:\pythonLED\python.exe E:/pythonProject/1.py
1+2+3+4+5+6+7+8+9= 55
s = 0
i = 1
t = 1
while abs(t) >= 10 ** (-5):t = (1 / (2 * i - 1)) * (-1) ** (i + 1)s += ti = i + 1
pi = s * 4
print("pi=",pi)D:\pythonLED\python.exe E:/pythonProject/1.py
pi= 3.141612653189785

五、程序异常处理

程序中的错误分为语法错误和逻辑错误,语法错误是程序中使用的语句格式存在错误,这些错误必须在程序执行前纠正,纠正程序的语法错误后,剩下的就是逻辑错误;产生逻辑错误的原因有很多种,可能是算法设计时考虑不周,或是输入不当;当python检测到一个错误时,python解释器就会中断程序允行,并在控制台给出错误信息,这种情况称为异常。

为了让程序在运行时具有更强的稳健性,不因异常中断运行,开发人员会在设计程序时加入一些异常处理语句,这种操作就称为异常处理。

5.1、python中常见的异常类型

TypeError

  • 描述:当操作或函数应用于不适当类型的对象时引发。例如,将字符串和整数进行加法运算会触发此异常。
  • 示例:a = 5 + ‘10’。这里尝试将一个整数和一个字符串相加,由于类型不匹配,Python会抛出TypeError。

ValueError

  • 描述:当函数或操作的参数具有正确的类型但是值不合法时引发。例如,尝试将非数字字符串转换为整数会触发此异常。
  • 示例:int(‘abc’)。这里尝试将字符串’abc’转换为整数,由于’abc’无法被解析为有效的整数值,因此会抛出ValueError。

NameError

  • 描述:当尝试访问一个未定义的变量时,会抛出此异常。
  • 示例:print(x),其中x是未定义的变量,Python会因为找不到变量x的定义而抛出NameError。

IndexError

  • 描述:当尝试访问列表、元组或字符串中不存在的索引时引发。这通常发生在尝试访问超出序列范围的索引时。
  • 示例:a = [1, 2, 3]; print(a[3])。由于列表a只有三个元素,试图访问第四个元素(索引为3)时,将抛出IndexError。

KeyError

  • 描述:当尝试访问字典中不存在的键时引发。此异常用于处理字典中的键查找异常情况。
  • 示例:d = {‘a’: 1, ‘b’: 2}; print(d[‘c’])。在字典d中尝试访问键’c’,由于该键不存在,因此会抛出KeyError。

ZeroDivisionError

  • 描述:当尝试除以零时引发。这是数学中的基本错误,任何数除以0都是未定义的。
  • 示例:a = 5 / 0。这里尝试将5除以0,由于除数不能为零,因此会引发ZeroDivisionError。
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:ss
输入错误,请输入一个整数:
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:5
其他错误!
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")
else:print("没有异常报错!")
finally:print("程序执行完毕!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:s
输入错误,请输入一个整数:
程序执行完毕!
try:num = eval(input("请输入一个整数:"))print(num + "a")
except NameError:print("输入错误,请输入一个整数:")
except:print("其他错误!")
else:print("没有异常报错!")
finally:print("程序执行完毕!")D:\pythonLED\python.exe E:/pythonProject/1.py
请输入一个整数:5
其他错误!
程序执行完毕!

相关文章:

python程序控制结构

文章目录 一、python程序控制结构介绍二、顺序结构2.1、print()函数2.2、end参数2.3、input()函数 三、选择结构3.1选择结构的用途 四、循环结构4.1循环结构的构造4.1.1、循环结构的三个要素4.1.2、循环结构的一个要求4.1.3、循环结构的一个关系 4.2、循环语句4.2.1、while语句…...

【GD32】04 - Timer定时器

GD32中的定时器 GD32E230中有七个定时器&#xff0c;六种类型&#xff0c;其中通用的L4版本有两个&#xff0c;其他类型的各一个。 那我们就以通用L4这个类型来敲代码&#xff0c;其他流程是通用的。 通用L4 虽然每种类型的定时器都有自己的结构框图&#xff0c;但是其实大差…...

Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; func maxProfit(prices []int) int {buy1, sell1 : -prices[0], 0buy2, sell2 : -prices[0], 0for i : 1; i < len(prices); i {buy1 max(buy1, -prices[i])sell1 max(sell1, buy1prices[i])buy2 max(buy2, sell1-prices[i])sell2 m…...

Leetcode2028. 找出缺失的观测数据

Every day a Leetcode 题目来源&#xff1a;2028. 找出缺失的观测数据 解法1&#xff1a;模拟 统计当前 m 个元素的总和 curSum sum(rolls)&#xff0c;总共 mn 个元素和为 total (m n) * mean。 排除 2 种情况&#xff1a; total - curSum > 6 * n&#xff1a;n 个…...

如何在CentOS中合理划分磁盘空间以优化系统性能

目录 前言 理想的分区方案 为什么需要单独分区 安全性 性能 管理和维护 稳定性和可靠性 升级和兼容性 结论 前言 在进行CentOS系统的安装和配置时&#xff0c;合理划分磁盘空间是确保系统性能、安全性和易于管理的关键步骤。本文将探讨如何根据系统的硬件配置和预期用途…...

算法(十一)贪婪算法

文章目录 算法简介算法概念算法举例 经典问题 -背包问题 算法简介 算法概念 贪婪算法&#xff08;Greedy&#xff09;是一种在每一步都采取当前状态下最好的或者最优的选择&#xff0c;从而希望导致结果也是全局最好或者最优的算法。贪婪算法是当下局部的最优判断&#xff0c…...

Rust之函数式语言特性:迭代器和闭包(一):概述

开发环境 Windows 11Rust 1.78.0 VS Code 1.89.1 项目工程 这次创建了新的工程minigrep. 函数式语言特性:迭代器和闭包 Rust的设计从许多现有语言和技术中获得了灵感&#xff0c;其中一个重要影响是函数式编程。函数式编程通常包括通过在参数中传递函数、从其他函数返回函数、…...

配置资源管理

一 Secret Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源&#xff0c;这类数据虽然也可以存放在 Pod 或者镜像中&#xff0c;但是放在 Secret 中是为了更方便的控制如何使用数据&#xff0c;并减少暴露的风险。 1 有三种类型&#xff1a; kubernetes.io/service…...

unity2020打包webGL时卡进程问题

我使用的2020.3.0f1c1&#xff0c;打包发布WEB版的时候会一直卡到asm2wasm.exe这个进程里&#xff0c;而且CPU占用率90%以上。 即使是打包一个新建项目的空场景也是同样的问题&#xff0c;我尝试过一直卡在这里会如何&#xff0c;结果还真打包成功了。只是打包一个空场景需要20…...

云原生架构相关技术_3.无服务器技术

1.技术特点 1.1面向特定领域的后端云服务&#xff08;BaaS&#xff09; 随着以Kubernetes为代表的云原生技术成为云计算的容器界面&#xff0c;Kubernetes成为云计算的新一代操作系统。面向特定领域的后端云服务&#xff08;BaaS&#xff09;则是这个操作系统上的服务API&…...

Leetcode:Z 字形变换

题目链接&#xff1a;6. Z 字形变换 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;二维矩阵的直接读写&#xff09; 解决办法&#xff1a;直接依据题目要求新建并填写一个二维数组&#xff0c;最后再将该二维数组中的有效字符按从左到右、从上到下的顺序读取并…...

Python 3 判断文件是否存在

1 使用os.path模块 import osfile_path hello.txtif os.path.exists(file_path):print(f"文件 {file_path} 存在。") else:print(f"文件 {file_path} 不存在。") 2 使用pathlib模块 from pathlib import Pathfile_path Path(word.txt)if file_path.ex…...

(深度学习记录)第TR3周:Transformer 算法详解

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 文本的输入处理中&#xff0c;transformer会将输入文本序列的每个词转化为一个词向量&#xff0c;我们通常会选择一个合适的长度作为输入…...

谷神前端组件增强:自定义列

初始化 $gp.customColumn {}initColumnPool /*** initColumnPool* 初始化列池* * param prefix 前缀* param length 长度* * return Array 列ID数组* */ function initColumnPool (prefix, length) {return Array.from({length}, (value, index) > prefix index) } self…...

31-ESP32-S3-WIFI篇-02 Event Group (事件标记组)

ESP32-S3-WIFI 事件标记组 介绍 在ESP32-S3的WiFi驱动程序中&#xff0c;事件标记组&#xff08;Event Group&#xff09;是一个非常重要的概念。它是FreeRTOS中的一种同步机制&#xff0c;用于在任务之间传递和同步事件。在WiFi驱动程序中&#xff0c;我们使用事件标记组来通…...

构建企业级AI私有知识库

一、引言 在当今竞争激烈的市场环境中&#xff0c;企业为了保持竞争优势&#xff0c;需要高效地管理和利用内部知识资源。构建一个企业级AI私有知识库&#xff0c;不仅可以集中存储和管理企业知识&#xff0c;还能通过人工智能技术实现知识的智能化处理和利用。本文将详细介绍…...

C语言王国——杨氏矩阵

目录 1. 引言 2. 了解杨氏矩阵 3. 思路分析 4. 代码 5. 总结 1. 引言 最近在做二维数组的训练的时候发现了一个很有意思的题&#xff1a; 一看这不是杨氏矩阵嘛&#xff0c;接下来就由姜糖我带大家了解一下这个著名的矩阵。 2. 了解杨氏矩阵 通过查阅百度得知&#xff1a; …...

陪玩小程序都需要怎么做?

开发陪玩小程序需要进行全面的需求分析、功能规划、技术选型、界面设计等一系列步骤。陪玩小程序作为一种新兴的网络服务平台&#xff0c;为用户提供了寻找游戏伙伴、预约陪玩服务等功能&#xff0c;满足了用户在游戏领域的社交互动和技能提升需求。具体分析如下&#xff1a; 需…...

postgressql——子事务可见性判断 性能问题(8)

子事务可见性判断 & 性能 测试SQL BEGIN; PREPARE sel(integer) ASSELECT count(*)FROM contendWHERE id BETWEEN $1 AND $1 + 100; PREPARE upd(integer) ASUPDATE contend SET val = val + 1WHERE id IN ($1, $1 + 10, $1 + 20, $1 + 30);SAVEPOINT a; \set rnd random…...

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试USB摄像头 2024/5/31 20:04 USB摄像头分辨率&#xff1a;1080p&#xff08;1920x1080&#xff09; 默认编译Buildroot的SDK即可点亮USB摄像头。v4l2-ctl --list-devices v4l2-ctl --list-formats-ext -d /dev/video74 …...

从0开始学统计-什么是回归?

1.什么是回归&#xff1f; 回归&#xff08;Regression&#xff09;是统计学中一种用于探索变量之间关系的分析方法。它主要用于预测一个或多个自变量&#xff08;输入变量&#xff09;与因变量&#xff08;输出变量&#xff09;之间的关系。在回归分析中&#xff0c;我们尝试根…...

Element-ui使用上传时弹框选择文件类型

实现效果 1&#xff0c;点击上传&#xff0c;上传文件&#xff1b; 2&#xff0c;选择文件&#xff1b; 3&#xff0c;弹框选择文件类型&#xff1b; 4&#xff0c;选择类型后确定上传&#xff1b; 一&#xff0c;上传 跳过&#xff1b; 二&#xff0c;定义弹框下拉框…...

原生小程序一键获取手机号

1.效果图 2.代码index.wxml <!-- 获取手机号 利用手机号快速填写的功能&#xff0c;将button组件 open-type 的值设置为 getPhoneNumber--><button open-type"getPhoneNumber" bindgetphonenumber"getPhoneNumber">获取手机号</button> …...

ARM虚拟机安装OMV

OMV(OpenMediaVault)是基于 Debian GNU/Linux 的网络连接存储&#xff08;network attached storage&#xff0c;NAS&#xff09;解决方案。它包含 SSH、(S) FTP、SMB/CIFS、DAAP 媒体服务器、rsync、 BitTorrent 等很多种服务。它可用于 x86-64 和 ARM 平台。 在x86-64平台上&…...

【协议开发系列】梳理关于TCP和UDP两种协议的区别和使用场景

起源 前二天项目上在核对外部对接服务的五元组列表的时候&#xff0c;有一位客户提问对于同样的服务同时支持tcp和udp二种方式&#xff0c;有什么优点和缺点&#xff0c;应该如何选择&#xff1f;这个问题突然让我愣了一下&#xff0c;确实好久没有“温故”了&#xff0c;相关…...

vue blob实现自定义多sheet数据导出到excel文件

背景&#xff1a;最近vue项目遇到一个需求&#xff0c;就是需要将多个表格分成不同sheet页并导出&#xff0c;之前的工具类只能导出一个sheet页&#xff0c;所以在原有的基础上&#xff0c;调整一下&#xff0c;让它支持多sheet导出。 vue blob文件流&#xff0c;这个肯定要的…...

Python—面向对象小解(3)

一、多态 多态指的是一类事物的多中形态 相同的方法&#xff0c;产生不同的执行结果 运算符 * 的多态 int int 加法计算 str str 字符串拼接 list list 列表的数据合并 在python中可以使用类实现一个多态效果 在python中使用重写的方式实现多态 &#xff08;1&#xff09;定…...

Nginx超时时间

Nginx是一款自由、开源、高性能的HTTP和反向代理服务器&#xff0c;它可以通过不同的设置来提高网站的性能和安全性。其中&#xff0c;设置Nginx超时时间非常重要&#xff0c;因为它将直接影响网站的响应速度和用户体验。本文将从多个方面详细阐述Nginx超时时间的设置方法与注意…...

Imgs,GT,Edge,Gradient_all,Gradient_Foreground

保存一下&#xff1a; 做个记录&#xff1a; import cv2 import os import numpy as np# 对整张图片做canny检测 得到纹理图 def canny_all(input_path, output_path):# 遍历文件夹中的所有文件for filename in os.listdir(input_path):# 构造完整的文件路径image_path os.p…...

自学成才Flutter 弹性布局、线性布局

本文我们要介绍 Flutter 中布局 Widget&#xff0c;包括弹性布局、线性布局 流式布局和层叠布局。 Flutter中文网 Flutter开发 一、弹性布局--Flex Flex 类似 Android 中的 FlexboxLayout&#xff0c;和 Expanded 配合使用可以实现子Widget 按照一定比例来分配父容器空间。 使…...

Part 3.1 深度优先搜索

深度优先搜索&#xff08;DFS&#xff09;&#xff0c;即按照深度优先的顺序搜索的算法。 深度优先搜索一般使用栈来实现。 [USACO1.5] 八皇后 Checker Challenge 题目描述 一个如下的 6 6 6 \times 6 66 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得…...

前端Vue小兔鲜儿电商项目实战Day03

一、Home - 整体结构搭建和分类实现 1. 页面结构 ①按照结构新增5个组件&#xff0c;准备最简单的模板&#xff0c;分别在Home模块的入口组件中引入 src/views/Home/components/ HomeCategory.vue HomeBanner.vue HomeNew.vue HomeHot.vue HomeProduct.vue <script …...

ORACLE 查询SQL优化

1 使用EXPLAIN PLAN 使用EXPLAIN PLAN查看查询的执行计划&#xff0c;这可以帮助你理解查询是如何被Oracle执行的。基于执行计划&#xff0c;你可以确定是否存在索引缺失、不必要的全表扫描等问题。 以下是几种使用EXPLAIN PLAN的方法&#xff1a; 使用EXPLAIN PLAN FOR: 你可以…...

Ansible03-Ansible Playbook剧本详解

目录 写在前面5. Ansible Playbook 剧本5.1 YAML语法5.1.1 语法规定5.1.2 示例5.1.3 YAML数据类型 5.2 Playbook组件5.3 Playbook 案例5.3.1 Playbook语句5.3.2 Playbook1 分发hosts文件5.3.3 Playbook2 分发软件包&#xff0c;安装软件包&#xff0c;启动服务5.3.3.1 任务拆解…...

Qt-qrencode生成二维码

Qt-qrencode开发-生成二维码&#x1f4c0; 文章目录 Qt-qrencode开发-生成二维码&#x1f4c0;[toc]1、概述&#x1f4f8;2、实现效果&#x1f4bd;3、编译qrencode&#x1f50d;4、在QT中引入编译为静态库的QRencode5、在Qt中直接使用QRencode源码6、在Qt中使用QRencode生成二…...

长安链使用Golang编写智能合约教程(三)

本篇主要介绍长安链Go SDK写智能合约的一些常见方法的使用方法或介绍 资料来源&#xff1a; 官方文档官方示例合约库 官方SDK接口文档 教程一&#xff1a;智能合约编写1 教程二&#xff1a;智能合约编写2 一、获取参数、获取状态、获取历史记录的方法解析 注意&#xff01; …...

Vercel deploy- Nextjs project error-URL link-env variable

Vercel deploy- Nextjs project error-URL link-env variable Error Check Database URL Check next-auth URL NEXTAUTH_URLhttps://yourappname.vercel.app/ 依次排查可能性 Application error: a server-side exception has occurred (see the server logs for more in…...

Java | Leetcode Java题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; class Solution {public int maxProfit(int[] prices) {int n prices.length;int buy1 -prices[0], sell1 0;int buy2 -prices[0], sell2 0;for (int i 1; i < n; i) {buy1 Math.max(buy1, -prices[i]);sell1 Math.max(sell1, b…...

Ubuntu22.04之扩展并挂载4T硬盘(二百三十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

Redis实现延迟队列

最近用到一个延迟消息的功能&#xff0c;第一时间想到使用MQ或者MQ的插件&#xff0c;因为数据量不大&#xff0c;所以尝试使用Redis来实现了&#xff0c;毕竟Redis也天生支持类似MQ的队列消费&#xff0c;所以&#xff0c;在这里总结了一下Redis实现延迟消息队列的方式。 一、…...

如何准确查找论文数据库?

在学术研究过程中&#xff0c;查找相关论文是获取最新研究成果、支持自己研究的重要途径。准确查找论文数据库不仅可以节省时间&#xff0c;还能确保找到高质量的学术资源。本文将介绍一些有效的方法和策略&#xff0c;帮助您准确查找论文数据库。 1. 选择合适的数据库 不同的…...

翻译《The Old New Thing》- What a drag: Dragging a virtual file (IStream edition)

What a drag: Dragging a virtual file (IStream edition) - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080319-00/?p23073 Raymond Chen 2008年03月19日 拖拽虚拟文件&#xff08;IStream 版本&#xff09; 上一次&#xff0c;我们看…...

【FPGA】Verilog语言从零到精通

接触fpga一段时间&#xff0c;也能写点跑点吧……试试系统地康康呢~这个需要耐心但是回报巨大的工作。正原子&&小梅哥 15_语法篇&#xff1a;Verilog高级知识点_哔哩哔哩_bilibili 1Verilog基础 Verilog程序框架&#xff1a;模块的结构 类比&#xff1a;c语言的基础…...

unity打包的WebGL部署到IIS问题

部署之后会出错&#xff0c;我遇到的有以下几种&#xff1b; 进度条卡住不动 明明已经部署到了IIS上&#xff0c;为什么浏览网页的时候还是过不去或者直接报错。 进度条卡住不动的问题其实就是wasm和data的错误。 此时在浏览器上按F12进入开发者模式查看错误&#xff08;下图…...

GPT-4o:人工智能的新里程碑

GPT-4o&#xff0c;作为OpenAI最新推出的人工智能技术&#xff0c;无疑在人工智能领域掀起了新一轮的浪潮。这款新型的语言模型不仅继承了GPT系列的核心优势&#xff0c;更在多个方面实现了突破性的进展。以下&#xff0c;我们将从版本间的对比分析、GPT-4o的技术能力以及个人整…...

发现一个ai工具网站

网址 https://17yongai.com/ 大概看了下&#xff0c;这个网站收集的数据还挺有用的&#xff0c;有很多实用的ai教程。 懂ai工具的可以在这上面找找灵感。...

第二十五章新增H5基础(以及视频~兼容)

1.HTML5中新增布局标签 HTML5新增了页眉&#xff0c;页脚&#xff0c;内容块等文档结构相关标签&#xff0c;可以使文档结构更加清晰明了。 1.新增的结构标签 1、<header>标签 定义文档或者文档中内容块的页眉。通常可以包含整个页面或一个内容区域的标题&#xff0c…...

[英语单词] production quality

Our goal is to implement a production quality switch platform that supports standard management interfaces and opens the forwarding functions to programmatic extension and control. 说在openswitch的文档里有说这两词&#xff0c;含义是产品质量。是production修…...

windows安装nodeJs,以及常用操作

1. 官网(Node.js — Run JavaScript Everywhere (nodejs.org))下载想要安装的node版本 的安装包完成安装 2.环境变量设置&#xff1a; 系统变量&#xff1a; Path新增&#xff1a;D:\Program Files\nodejs (node安装目录) 3.设置淘宝源&#xff1a; npm config set registr…...

MySql part1 安装和介绍

MySql part1 安装和介绍 数据 介绍 什么是数据库&#xff0c;数据很好理解&#xff0c;一般来说数据通常是我们所认识的 描述事物的符号记录&#xff0c; 可以是数字、 文字、图形、图像、声音、语言等&#xff0c;数据有多种形式&#xff0c;它们都以经过数字化后存入计算机…...