车载自动化项目:Python

1.  自动化测试用的什么框架?

第一种:Python+Selenium+uittest框架

首先是拿到需求文档,基于这个需求去进行搭建。
用pytest+request+allure 这些第三方库进行编写自动化脚本。

举个例子一般的话整个的一个自动化的搭建是分为6层嘛:

第一层:会去做一个公共层,里面去放一些方法,像可调用的公共函数、数据库之类的。(这些函数是放在yaml文件,存放一些数据库地址,还有URL路径还有业务中会用的比如车辆车型还有用户名密码这一些)

第二层:会做一个配置层,然后配置一些像config这样的yaml配置文件,log配置文件,环境配置文件,数据库的配置文件,里面会放一些路径,像我们业务当中会用到的一些密码信息之类的

第三层:数据层,里面会放一些比方说一些excle 表格

第四层:用例层,比方说云端升级任务。任务有分为手动、自动、预约。还有像任务的审核,审核之后下载,下发任务等。包括一些异常场景都在这个用例层里面。

第五层:主函数,就是调用以上分层里的方法实例。去执行这个测试用例吧。

最后就是报告层:生成一个allure 的报告大致就是这个样子。

第二种:如何介绍自动化项目

在面试过程中,要向面试官讲解自己做过的自动化项目。如何介绍,下面简单说下

可以参考:

面试官你好,最近我做的xxx项目中有接口自动化部分,下面简单给您介绍一下:

1.使用的技术主要是 Python + Pytest + Requests + CSV +pytest-html。

a.主要使用Python编程语言实现,

b.Requests 库主要用来模拟发送接口请求

c.Pytest 主要用来维护接口自动化测试用例。

d.CSV模块主要用来进行数据驱动(数据驱动也可以使用Excel文件,Excel文件使用 Openpyxl 库来操作)

e.pyhtml-html主要用来作为测试报告

2.另外在接口自动化也要处理接口的上下游传参

a.我在接口上下游传参的接口主要操作:

i.先定义字典格式的数据。

ii.在上游接口中编写用例,用例通过之后给字典赋值。

ii.在下游接口中引用字典中的字段值。

b.主要通过字典的方式继续上下游传参。

3针对单接口进行参数化处理的时候,主要使用 csv文件数据驱动

a.首先将测试数据保存到csv文件中

b通过Python的csv模块来读取csv文件中的内容

c借助pytes模块中的参数化功能进行数据驱动。

4.最后,自动化代码完成之后,将代码存放在公司的git服务器上,搭建Jenkins 平台,从Jenkins平台上运行接口代码,代码运行完成之后,通过Jenkins会自动发送邮件到公司邮箱。如果接口出现问题,可以第一时间收到通知。

以上就是我最近项目中使用的自动化。简单概括就是使用 Python+pytest+requests+Jenkins实现接口自动化平台的搭建。

3.python有哪些数据类型?

答:有基本数据类型和集合数据类型两种,基本数据类型有数字型(int,float,complex),字符串,布尔型;集合数据类型有列表,元祖,字典,集合。

4.列表和元祖的区别是什么?

答:共同点:访问数据,都是通过索引访问,都可以存放各种类型的数据

不同点:定义上---列表是[](中括号);元祖是()圆括号

使用上---可对列表进行增删改,元组不允许修改。

5.怎么把一个元祖转换为list?

答:python 把元组转为列表的方法是在元组前面添加list

list_a = (1, 9, 10, 6)
print(list_a)  # 打印结果 (1, 9, 10, 6) 元组是带小括号的
list_b = list(list_a)
print(list_b)  # 打印结果 [1, 9, 10, 6] 列表是带中括号的

6.List你怎么正向排序和反向排序?

答:正向排序(升序)--a.sort()

反向排序(降序)--a.sort(reverse=True)

7.列表和字典的区别是什么?

答:1.列表是有顺序的,如果按照某种顺序向列表添加元素,这些元素就会保持顺序;字典是无序的,如果向字典添加内容,显示的顺序可能会和添加的顺序不同

2.列表中的元素是使用索引访问的,而字典是使用键来访问的

8.Python循环体里面break和continue有什么区别?

答:break--在for循环或者while循环结构中使用break语句,用于结束整个循环

     continue--在for循环或while循环结构中使用break语句,用于跳过本次循环中的剩余语句,然后继续进行下一轮循环

9.Pycharm的自动化脚本的流程是怎么样的?

首先根据需求文档,确定做自动化的内容,在具体编写自动化测试用例前,我们需要建一个测试类继承unittest(就内泰斯特)里面的TestCase类,继承这个类之后我们才是真正的使用unittest(就内泰斯特)框架去写测试用例,编写测试用例的步骤如下:

1)首先导入unittest(就内泰斯特)模块

2)再就是创建一个测试类,并继承unittest.TestCase()

3)然后用setup()(斯塔普)和tearDown()函数来定义初始化工作和收尾工作

4)其次中间定义测试方法,方法名必须以test_为前缀

5)再就是在用例中添加断言判断来判断运行结果

常见的断言:assertEqual(a,b)-断言a和b是否相等,相等则测试通过

               assertNotEqual(a,b)-断言a和b是否相等,不相等则测试用例通过

               assertTrue(x)-断言x是否True,是True则测试通过

               assertFalse(x)-断言x是否False,是false则测试通过

               assertIs(a,b)-断言a是否是b,是则测试通过

               assertNotIs(a,b)-断言a是否是b,不是则测试通过

               assertIn(a,b)-断言a是否在b中,在b中则测试通过

               assertNotIn(a,b)-断言a是否在b中,在b中则测试通过

6)最后使用HTMLTestRunner来生成测试报告,分析运行结果

10.在python数据型中,哪些可以切片处理呢?

答:python中符合序列的有序序列都支持切片,例如列表,字符串,元组。

11.如果我要将一个12345678的字符串通过切片倒过来显示输出需要怎么弄?

格式:[start:end:step]

start:起始索引,从0开始

end:结束索引

step:步长,步长为正时,从左向右取值。步长为负时,反向取值

注:切片取值是顾头不顾尾;切片的步长默认为1,不可为0

答: a=’12345678’

print(a[: : -1])

12.有大概统计过自己写个多少个自动化测试脚本吗?

一般是功能测试模块的10%-30%

我们那个项目写的自动化测试脚本写的比较少,我负责的模块写了50个                      

13.深拷贝以浅拷贝

一个对象有对象父级和对象子级中如果嵌套了其他类型

内部元素的type为number、str、tuple(不可变类型)类型的,改变其中的值,浅拷贝和深拷贝始终不变

内部元素的type为list、set、dict(可变类型,改变其中的值,浅拷贝地址值会变,深拷贝地址值不变

浅拷贝只会将父类复制到新的储存空间,子类的地址值使用原对象子类的地址值

深拷贝会将父级和子级全部复制到对应的新的储存空间,与原对象互不影响

14. setup 、teardown怎么用

setup和teardown是用来处理用例的开始前工作和结束后的工作

setup_module;teardown_module;(模块级别的,优先级最高)

最先执行的前置或者后置,且在整个 *.py 文件执行时只执行一次

setup_function;teardown_function;(不在类中)

只对函数用例(不在class里面的)生效,有多少条函数用例执行多少次

setup_class;teardown_class;(类级)

在类中运行的前置或者后置,只运行一次

setup_methond;teardown_methond;(方法级)

在类中每条用例前后运行的前置或后置,每条case分别运行一次

setup     teardown   (在类里面的)

既可以在类中运行,也可以在类外运行,每条用例前后分别执行一次

15.怎么理解装饰器///装饰器的原理

装饰器本身是一个函数\方法,它的入参和返回结果也是一个函数\方法。被标记的方法是装饰器的入参,装饰器会对这个方法进行功能改造返回一个新的方法,最后执行的就是这个新的方法。

16.测试固件(测试夹具)的作用域和使用方法

@pytest.fixture(autouse=True):声明固件时设置

@pytest.fixture(autouse=True):声明测试固件,并在要使用固件的用例中以参数形式传入固件(beanshell)

@pytest.fixture(autouse=True):声明测试固件,并对要使用固件的域用装饰器进行标记

@pytest.mark.usefixtures('beanshell')

function: 函数级,每个测试函数都会执行一次固件;

class: 类级别,每个测试类执行一次,所有方法都可以使用;

module: 模块级,每个模块执行一次,模块内函数和方法都可使用;

session: 会话级,一次测试只执行一次,所有被找到的函数和方法都可用。

17.怎么做数据驱动

就是在测试的时候,我们用的这些测试脚本和测试数据是分离管理的,使用文件存放测试数据(比如我经常使用的是excel),然后封装好一个加载测试数据的方法,在测试脚本中调用该方法获取测试数据,并对需要做数据驱动的测试方法用@pytest.mark.parametrize()(婆ruai母翘以斯)进行装饰,该测试方法就会在测试数据的驱动下重复执行,有多少条测试数据,该测试方法就执行多少次

1.定义:用测试数据驱动测试方法的执行,有多少条测试用例,测试方法就执行多少次

2.对测试方法进行装饰:@pytest.mark.parametrize('data',testdata)

18.最常用的第三方库有哪些

1)xlrd、xlwt    2)pymysql   3)requests   4)pyyaml    5)pytest    6)allure-pytest

19. pytest装饰器

pytest装饰器

跳过不执行  @pytest.mark.skip( )

有条件跳过  @pytest.mark.skipif( )

标记测试方法为失败  @pytest.mark.xfail( )

标记测试用例的执行顺序  @pytest.mark.run(order=3)  需要安装:pip install pytest-ordering

对测试失败的用例进行重试一共重试3次,每次间隔2秒   @pytest.mark.flaky(reruns =3 , reruns_delay=2)

需要安装:pip instal

20.使用pytest生成测试报告

使用pytest生成测试报告

1安装测试报告所使用的第三方库:pip install pytest html

2运行测试用例并生成测试报告:pytest.main(['-vs','./test_pytest_251.py',

'--hum]=../report/result.htmI'])

21.使用allute生产测试报告

使用allute生成测试报告

pytest.main(["--alluredir"/report/allure_ison''_-clean-alluredir''/T)

1    -alluredir:使用allure运行测试用例

2    ./ report/allureison:定义运行结果数据存储的位置(json格式的结果)

3.   -clean-alluredir:每次执行前先清除历史数据

4    ./:运行当前文件所在路径下的所有测试模块

os.system ('allure generate report/ allure_json -o report/allure_report --clean'

- 将json格式的结果数组装成html格式

22.常见的异常

NameError

IndexEttor:下标越

TypeError

ValueError

KeyError

ZeroDivisionError:  被除数为0

异常从高到低  OFF. FATAL. ERROR, WARN, INFO, DEBUG. TRACE, ALL

23.方法与函数的区别

1. 方法是写在类里面的函数,函数是直接写在python模块里面的

 2. 方法只能被类的对象调用,函数可以被导入到其他任意模块,无条件的调用

 3. 方法的第一参数要写self    《赛额复》

 4. 私有方法只能在当前类中被调用,类的对象无法调用

24.继承

一个类继承另一个类的属性和方法,子类的实例可以访问父类的属性和方法

25.方法重写(方法覆盖)

如果从父类继承的方法不能满足子类的需求,可以对其进行改写。这个过程叫方法的覆盖(override)也称之为方法的重写,子类的实例调用该方法时调用的是重写之后的方法,父类的实例调用这个方法时,调用的是原方法,多个父类有同名方法时,继承时写在前面的父类的方法的优先级高

26.xlrd

Path=”../路径“

     file=xlrd.open_ workbook(path) #创建文件对象

     sheets= file.sheet_names0 #茯取该文件的所有sheet,以列表返回

     sheet1=file.sheet_by_index(0)#通过下标选取要读取的sheet

     sheet2=file.sheet_by_name('name')#通过名称选取要读取的sheet

     name = sheet.name #获取sheet的名宇

     nrow=sheet1.nrows #获取当前sheet的总行数

     ncol=sheet1.ncols #获取当前sheet的总列数

     data_row=sheet1.row_values(rowx, start_colx=0,end_colx=None)#读取某一行

     data_col=sheet1.col_values(colx, start_rowx=0, cnd_ rowx=None)#读取某一列

     data_cell= sheet1.cell_value(×, y). value#读取某一个单元格的值

27.pymysql

conn = pymysgl.connect(host,user,password,database)#获取连接对象

     cursor = conn.cursor( )  创建游标

     cursor.execute(sql)      执行sql

     cursor.fetchone( )       获取查询结果的一条数据

     cursor.fetchall( )          获取所有查询结果

     conn.commit( )               提交(增删改之后都妥提交)

     cursor.close( )             关闭游标

     conn .close( )              关闭连接

     conn .rollback( )          发生错误时回滚

先关闭游标,再关闭连接

28.pytest

文件名以test_*.py或*_test.py

类要以Test开头,不能包含_init_方法

以test开头的方法

如果类不以Test开头,类中的方法即使是以test开头也不会执行

运行该模块下所有的测试用的

pytest.main(["./ test pytest_01.py"])#运行指定模块

-s-v-g 命令参数

#运行指定模块,

-V是详细信息模式,输出更详细的执行用例信息

pytest.main(['-s', './ test_ pytest_ 01-Py'])

#运行指定模块,-q是静默模式,只显示运行结果

pytest.main([‘-q','./test_pytest_01.py'])

#运行指定模块,

#-s是显示用例中的打印信息和日志信息

Pytest.main(['-s','./test_pytest_01.py'])

29.测试夹具

fixture概念和作用

1 fixture是pytest 用于在测试前后进行预备、清理工作的代码处理机制。

2fixture优势

fixrure相对于unittest中的setup和teardown来说有以下几点优势:

1. fixure命名更加灵活,局限性比较小;

2. conftest.py 配置里面可以实现数据共享,不需要import就能自动找到一些配置;

3. scope=”session”可以实现多个py跨文件使用一个session来完成多个用例。

Fixture是pytest精髓所在,就像unittest中的setup和teardown一样,但相对之下它的功能更加强大和灵活。

(详解)试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现

2.测试用例的前置条件可以使用fixture实现

3.支持经典的xunit fixture ,像unittest使用的setup和teardown

4.fixture可以实现unittest不能实现的功能,比如unittest中的测试用例和测试用例之间是无法传递参数和数据的,

但是fixture却可以解决这个问题

不需要会)用return返回初始化浏览器,return后面的后置条件不会执行,因此需要将return改成yield,后置条件就会被调用执行。

Yield是Python中的一个关键字,表示生成器。测试夹具的前置条件遇到yield时返回一个结果,然后将测试夹具挂起,

转而去执行测试用例,最后回来测试夹具中执行后置条件。Return和yield后面可以不写任何返回值,

表示空没有数据返回

30.常见的配置文件的格式

yaml文件;.properties文件(扑扑替斯);.ini文件;.json文件;.xml文件

31.sql注入

就是通过把SQL命令插入到Web表单递交或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

防止SQL注入的方法和理念:

1:永远不要信任用户的输入

2:永远不要使用动态拼装SQL

3:不要使用管理员权限

4:密码要加密

32. log是什么,log的级别,log的作用

og是什么:是详细的记录程序运行过程的文件

log的级别:error(爱柔)错误;warn(物嗯)警告; info信息;debug调试

log的作用:方便找到BUG

          Log.v 的调试颜色为黑色的

          Log.d的输出颜色是蓝色的

  Log.i的输出为绿色

Log.w的意思为橙色

 Log.e为红色,可以想到error错误

33. pytest框架下文件、类、方法的命名规范

文件名以test_.py开头

以Test开头的类,不能包含__int__方法

以小写的test开头的方法

如果类不以Test开头的类,即使类里面的方法是test开头也不会执行(默认的是这样,可以自定义更改)

34.最常见的断言

assert   == ;

!= ;   <= ;    >= ; 

is True;    is not True ;

is Flase    ; is not Flase ;

in ;  not in ;

35.用过哪些装饰器(pytest,allure)

Plaintext

@allure.severity('blocker')

@allure.epic(爱呸克)("总描述")

@allure.feature(费切)("测试模块描述")

@allure.story(斯刀锐)("测试描述")

@allure.parent_suite(拍润特,斯锐迟)("上海车进科技信息有限公司-Demo1")

@allure.suite(斯锐迟)('上海车进-注册登录')

@allure.sub_suite('登录')

@allure.description(第斯克瑞斯)("描述内容的意思")

@allure.title(抬头)("用例名称")

@allure.severity(斯歪瑞情)('blocker'):(用例等级)

等级severity_level介绍

   blocker:阻塞缺陷(功能未实现,无法下一步)

   critical:严重缺陷(功能点缺失)

normal:一般缺陷(边界情况,格式错误)

   minor:次要缺陷(界面错误与ui需求不符)

   trivial:轻微缺陷(必须项无提示,或者提示不规范)

36.如何生成测试报告

pytest自带的测试报告不够优美,我们使用allure生成最终的测试报告

37.自动化测试框架的搭建

a.    简历: 基于python + pytest + request + allure 编写接口自动化脚本

b.    安装pytest、request、allure

c.     配置配置文件:log配置文件,环境配置文件、数据库配置文件

d.    封装工具类和方法:http请求的工具类、数据库操作的工具类、测试数据读取的工具类……

e.    对业务中常用的一些操作进行封装

f.     开发测试脚本

g.    组装测试套件(suit),生成allure测试报告

38.python的定位方式?

答:有八种,分别是by.id,by.name,by.class name,by.tag name,by.link text,by.partial link text,by.xpath,by.css selector。我常用的有id,name,class name,link text,xpath。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2775155.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习笔记2024/2/8

面向对象 //面向对象介绍 //面向: 拿、找 //对象: 能干活的东西 //面向对象编程: 拿东西过来做对应的事情 //01-如何设计对象并使用 //1.类和对象 //2.类的几个不错注意事项 1. 类和对象 1.1 类和对象的理解 客观存在的事物皆为对象 &#xff0c;所以我们也常常说万物皆对…

redhat grub.cfg配置文件丢失或报错解决

1.实验环境&#xff1a;把grub.cfg删除 [rootexample ~]# rm -rf /boot/grub2/grub.cfg 2.重启服务器 3&#xff0c;发现进入系统失败 输入以下命令 ls: 列出当前设备上的文件和目录。 grub> ls (hd0) (hd0,msdos3) (hd0,msd0s2) (hd0,msdos1) #一般第一个为/boot分区se…

2月8日作业

1、现有文件test.c\test1.c\main.c,编写Makkefile 代码&#xff1a; CCgcc EXEa.out OBJS$(patsubst %.c,%.o,$(wildcard *.c)) CFLAGS-c -oall:$(EXE)$(EXE):$(OBJS)$(CC) $^ -o $%.o:%.c$(CC) $(CFLAGS) $ $^.PHONY:cleanclean:rm $(OBJS) $(EXE)运行结果&#xff1a; 2、…

wyh的迷宫

涉及知识点&#xff1a;求迷宫能否到达终点的&#xff0c;而不是求路径数的&#xff0c;用bfs时可以不用重置状态数组&#xff08;回溯&#xff09;。 题目描述 给你一个n*m的迷宫&#xff0c;这个迷宫中有以下几个标识&#xff1a; s代表起点 t代表终点 x代表障碍物 .代…

【C#】创建Json文件并根据dll路径获取

创建Json文件 更改属性 【代码】根据dll路径获取 Assembly assembly Assembly.GetExecutingAssembly(); string assemblyPath assembly.Location; string relativeDllPath System.IO.Path.Combine(System.IO.Path.GetDirectoryName(assemblyPath), "Json\\test.json&q…

Kubernetes基础(十五)-k8s网络通信

1 k8s网络类型 2 Pod网络 2.1 同一pod内不同容器通信 Pod是Kubernetes中最小的可部署单元&#xff0c;它是一个或多个紧密关联的容器的组合&#xff0c;这些容器共享同一个网络命名空间和存储卷&#xff0c;因此Pod中的所有容器都共享相同的网络命名空间和IP地址——PodIP&a…

华为第二批难题五:AI技术提升六面体网格生成自动化问题

有CAE开发商问及OCCT几何内核的网格方面的技术问题。其实&#xff0c;OCCT几何内核的现有网格生成能力比较弱。 HybridOctree_Hex的源代码&#xff0c;还没有仔细去学习。 “HybridOctree_Hex”的开发者说&#xff1a;六面体网格主要是用在数值模拟领域的&#xff0c;比如汽车…

[WUSTCTF2020]朴实无华(特详解)

一开始说header出问题了 就先dirsaerch扫一遍 发现robot.txt 访问一下 去看看&#xff0c;好好好&#xff0c;肯定不是得 他一开始说header有问题&#xff0c;不妨抓包看看&#xff0c;果然有东西 访问看看&#xff0c;乱码修复一下&#xff0c;在之前的博客到过 <img src…

一文带你读懂Python线程

Python线程 进程有很多优点&#xff0c;它提供了多道编程&#xff0c;可以提高计算机CPU的利用率。既然进程这么优秀&#xff0c;为什么还要线程呢&#xff1f;其实&#xff0c;仔细观察就会发现进程还是有很多缺陷的。 主要体现在一下几个方面&#xff1a; 进程只能在一个时…

springboot基础案例(二)

文章目录 前言一.需求分析: 分析这个项目含有哪些功能模块二.库表设计(概要设计): 1.分析系统有哪些表 2.分析表与表关系 3.确定表中字段(显性字段 隐性字段(业务字段))2.1 创建一个库: ems-thymeleaf2.2 创建 2张表三.编码(环境搭建)1.创建一个springboot项目 项目名字: ems-t…

【Flink入门修炼】1-1 为什么要学习 Flink?

流处理和批处理是什么&#xff1f; 什么是 Flink&#xff1f; 为什么要学习 Flink&#xff1f; Flink 有什么特点&#xff0c;能做什么&#xff1f; 本文将为你解答以上问题。 一、批处理和流处理 早些年&#xff0c;大数据处理还主要为批处理&#xff0c;一般按天或小时定时处…

Java毕业设计-基于ssm的仓库管理系统-第76期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于ssm的游泳馆管理系统&#xff1a;前端jsp、jquery、bootstrap&#xff0c;后端 springmvc、spring、mybatis&#xff0c;集成游泳课程报名、游泳卡在线售卖、购物车、…

可解释性AI(XAI):开启AI决策过程透明化,重塑信任与解决伦理偏见

文章目录 每日一句正能量前言可解释性AI的定义与重要性什么是可解释性&#xff1f;促进技术应用的可信度提高技术的透明度保护隐私和数据权益促进AI的社会接受度 可解释性AI的挑战与难点可解释性AI的应用场景后记 每日一句正能量 宁可因高目标而脖子硬&#xff0c;也不要为低目…

java并发执行批量插入

java并发执行批量插入 1、mybatis-plus批量插入 long start System.currentTimeMillis();int num 5000; //一次批量插入的数量int j 0;for (int i 0;i<20;i){List<User> userList new ArrayList<>();while (true){j;User user new User();user.setUserP…

从REPR设计模式看 .NET的新生代类库FastEndpoints的威力

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 又到了一年年末,春节将至…

Maven私服部署与JAR文件本地安装

Nexus3 是一个仓库管理器&#xff0c;它极大地简化了本地内部仓库的维护和外部仓库的访问。 平常我们在获取 maven 仓库资源的时候&#xff0c;都是从 maven 的官方&#xff08;或者国内的镜像&#xff09;获取。团队的多人员同样的依赖都要从远程获取一遍&#xff0c;从网络方…

【PTA浙大版《C语言程序设计(第4版)》|编程题】习题7-3 判断上三角矩阵(附测试点)

目录 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 代码呈现 测试点 上三角矩阵指主对角线以下的元素都为0的矩阵&#xff1b;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序&#xff0c;判断一个给定的方阵是否…

C#,聚会数(相遇数,Rencontres Number)的算法与源代码

1 相遇数 相遇数&#xff08;Rencontres Number&#xff0c;partial derangement numbers&#xff09;是指部分扰动的数量&#xff0c;或与独立对象的r相遇的置换数&#xff08;即具有固定点的独立对象的置换数&#xff09;。 看不通。懂的朋友给解释一下哈。 2 源程序 using…

基于CEVA DSP BX2的架构分析(六)-加载和存储单元(二)

6.4 指针修改机制 LS0和LS1都包含指针修改机制。当使用间接或索引寻址模式时&#xff0c;指针的修改可以与地址生成并行执行。在间接寻址模式中&#xff0c;指针包含地址&#xff0c;而在变址寻址模式下&#xff0c;指针包含偏移量&#xff08;有关这些寻址模式的更多详细信息&…

终端命令提示符:如何查看我们电脑端口是否被占用和处理方式

文章目录 端口信息查看1、Windows:2、Linux/macOS: 使用 netstat使用 lsof 端口信息查看 在不同的操作系统中&#xff0c;查看端口是否被占用的指令有所不同。以下是一些常见的指令&#xff1a; 1、Windows: 使用命令行工具 netstat 来查看端口占用情况。 电脑键盘按住 win…