自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Verilog的端口连接规则

而output端口是上级模块对下级模块的被动接收,是下级模块的一根输出导线,因此output端口只能是net型变量;模块调用时,连接模块inpu端口的信号可以为net/reg 型,连接模块output端口的信号只能为net,连接模块inout端口的信号也只能。模块描述时在模块内部对模块的端口进行描述,是从内部角度出发,因此将input端口看作外界引申进来的一条线,只能为net型变。模块描述时,input 端口只能为net, output 端口可以为netreg, inout 端口只能为net;

2022-09-27 21:55:06 3574 1

原创 软件测试基础知识

第一阶段:问题定义,该阶段由软件开发与需求方共同讨论,主要确定软件的开发目标机器可行性。第二阶段:需求分析,该阶段对软件需求进行更深入的分析,划分出软件需求实现的功能模块,并制作出文档。需求分析在软件的整个生命周期中起着非常重要的作用,它直接关系到后期软件开发的成功率。在后期的开发中,需求可能会发生变化,因此,在进行需求分析时,应该考虑到需求的变化,以保证整个项目的顺利进行。第三阶段:软件设计,该阶段在需求分析结果的基础上,对整个软件系统进行设计,如系统框架设计、数据库设计等。

2022-08-24 22:32:21 512

原创 turtle库的使用数字时钟模拟时钟动态显示

使用turtle 绘制数字时钟和模拟时钟。模拟时钟代码数字时钟代码

2022-06-08 23:46:05 735

原创 turtle库显示系统时间

python turtle显示系统日期

2022-06-08 20:51:43 556 1

原创 Z字形变换

题目描述力扣Z字形变换将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1

2022-05-29 11:17:07 87

原创 【最全面详细解释】背包问题详解

文章目录一、背包问题二、解法一1.思路三、解法二1.思路一、背包问题背包问题:一个背包最多可放重量为weight的物品,现在有n件物品的集合S,物品的重量分别为[w0,w1,w2,w3…w n-1].问题是能够从这n件物品中取出若干件物品刚好装满这个背包,不考虑背包的容积,只考虑重量,检查这个问题是否有解,有解就输出Yes,没有则输出No.二、解法一1.思路解题思路:先假设weight>=0,n >=0, knap(weight,n)表示n件物品相对于总重量weight的背包问

2022-05-27 22:31:50 3301

原创 python中的命令行参数解析

文章目录前言一、一个例子二、可选参数混合使用前言今天来学习命令行参数解析。我们主要学习的是一个标准库----argparse。argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。当然,Python 也有第三方的库可用于命令行解析,而且功能也更加强大,比如 docopt,Click。一、一个例子我们先看一个例子。# -*- coding: utf-8

2022-05-18 21:17:56 1780

原创 浅谈python的classmethod staticmethod和实例方法

文章目录前言一、classmethod staticmethod二、绑定对象三、调用方式前言今天说说python类中的类方法,静态方法和实例方法。一、classmethod staticmethodPython中3种方式定义类方法, 常规方式, @classmethod修饰方式, @staticmethod修饰方式。import _ctypesclass A(object): def foo(self, x): print("executing foo(%s,%s

2022-05-16 22:25:34 453

原创 python对文本文件的读写

文章目录一、python中的文件读写1. open()函数2. 文件打开模式2.1 单独打开模式2.2 组合打开模式3. 读取文件3.1 读取文件3.2 写入文件一、python中的文件读写1. open()函数在python中用open()可以创建一个文件对象。open()使用方法:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)参

2022-05-16 21:15:46 1862

转载 【详细讲解】python中的匿名函数lambda

文章目录前言一、lambda语法二、lambda函数的特性三、lambda的常见用法四、lambda用法之高阶函数前言lambda函数在python中的使用频率非常高,我们的今天就来学习lambda函数。一、lambda语法lambda函数的语法只会包含一条语句,格式如下:lambda [arg1 [,arg2,…argn]]:expression其中lambda是python预留的关键字,其中的arg1…argn是参数列表,expression是函数表达式。add = lambda

2022-05-16 20:50:43 5538

原创 python中的三元表达式

文章目录前言一、python中的三元表达式前言今天来说说三元表达式。一、python中的三元表达式本来我个人觉得三元表达式很简单,无非就是下面的这样的格式嘛。a = 10b = 22max = a if a>b else bif a>b: max = aelse: max = b这是不是很好理解。但是我还是决定写一遍文章来记录这个三元表达式,这是为什么呢?因为这里面还是有一些比较难理解的东西,就是我们下面要说的三元表达式的嵌套。就说下面这道题,

2022-05-15 11:46:45 13161 1

原创 【超详细解释】一文带你了解python中的推导式、生成器、迭代器

文章目录前言一、列表推导式二、集合推导式三、字典推导式四、生成器1.使用函数生成一个生成器2. 生成器的应用五、迭代器前言我们在实际的python编程中是不是经常遇到这样的代码:list_a = [x**2 for x in range(10)]print(list_a)#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]我们不一定要能写出这样的代码,但是,我们一定要能读懂这样的代码。一、列表推导式下面直接进入正文,我们刚刚也看到了这样一个例子,可以通过一个表达式.

2022-05-15 11:04:29 590

原创 【超详细解释】一文带你了解python的装饰器

文章目录前言一、一个例子二、第一个装饰器三、装饰器的使用场景1. 授权(Authorization)2. 日志(logging)3. 带参数的装饰器(1)在函数中嵌入装饰器4.装饰器类前言今天我们一起来学习python中的装饰器,要学习装饰器,我们首先要搞清楚函数嵌套和闭包相关的知识,如果对函数嵌套和闭包的知识搞清楚了的同学,可以直接阅读本文,如果对此还不清楚的,请阅读我的另一篇博文,【超详细解释】一文带你了解python中的函数嵌套和闭包。好了,下面进入正文。一、一个例子我们先来看看一个简.

2022-05-14 15:21:33 318

原创 浅谈python的对象思想和表现

python中的面对对象思想文章目录python中的面对对象思想前言一、常见的数据类型Number(数字)前言你可以这样理解,python中的一切皆对象。一、常见的数据类型Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)Number(数字)在python3中支持的数字类型有下面三种,int 整型float 浮点型complex 复数为什么说在python中一切万物皆对象呢?因为所有的东西都被划分成一

2022-05-14 13:45:00 122

原创 【超详细解释】一文带你了解python中的函数嵌套和闭包

python 函数嵌套与闭包文章目录python 函数嵌套与闭包一、python中的函数嵌套二、闭包三、为什么要用闭包呢?1、什么是闭包2、闭包的原理3、闭包的优点4、闭包的缺点一、python中的函数嵌套在python中,如果一个函数里面嵌套了另一个函数,这种情况就是函数嵌套。如下面的例子:def out_func(): def inner_func1(): print("The first inner function.") return d

2022-05-14 11:55:57 3854 3

原创 【超详细入门解释】python unittest HTMLTestRunner 生成测试报告

文章目录前言一、测试环境二、HTMLTestRunner下载地址1. 修改文件三、利用python + unittest + HTMLTestRunner生成测试报告总结前言我们测试完成后需要记录测试结果,生成测试报告。有没有什么比较简单的方式直接生成测试报告呢?当然有了,HTMLTestRunner就是这样一个专业的第三方库。一、测试环境python3.6.4 + unittest + HTMLTestRunner二、HTMLTestRunner下载地址下载地址:https://pypi

2022-05-13 22:00:18 1000

原创 Selenium入门详细教程

Selenium + python学习记录文章目录Selenium + python学习记录前言一、selenium的安装二、webdriver驱动浏览器使用selenium+python打开百度搜索谷歌前言学python,做自动化测试,selenium是我们必然要学习的一个自动化测试框架。一、selenium的安装因为我们使用的是python+selenium的测试结构,我们这里就直接使用python来安装selenium,因为这里我们可以理解selenium为python的一个库。pip

2022-05-11 22:09:21 965

原创 【史上最详细解释】最长回文子串手把手教学【包你学会】

题目描述:给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”解题思路:中心扩散法:中心扩散法的思想是遍历一遍字符串,以单个字符为中心和以两个字符为中心的,遍历某个字符(或者某两个字符的时候)时,找到以这个字符为中心的最长回文串。将我们找到的回文子串保存在一个列表里面,最后找到最长的那个就行了。代码:class Solution: de

2022-05-08 14:48:51 392

原创 【超详细解释】一文让你理解第K小数始末,寻找两个正序数组的中位数

力扣链接题目描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) /

2022-05-07 21:31:37 343

原创 力扣练题之无重复字符的最长子串【包教包会】【一学就会】

力扣第三题:题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “ppwwkew”输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pw

2022-05-06 22:24:03 119

原创 力扣练题之两数相加【详细解释】【包教包会】

今天来说说力扣第二题:两数相加题目描述:给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,

2022-05-06 21:37:18 412

原创 【力扣练题之二分查找】167:两数之和II

题目描述:给你一个下标从 1 开始的整数数组numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2],则 1 <= index1 < index2 <= numbers.length。以长度为 2 的整数数组 [index1, index2] 的形式返回这两个整数的下标 index1 和 index2。你可以假设每个输入 只对应唯一的答案 ,

2022-04-10 22:40:10 123

原创 【力扣练题之二分查找】441:排列硬币

题目描述:你总共有n枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。给你一个数字n ,计算并返回可形成 完整阶梯行 的总行数。我的思路分析:因为要形成k行组合的阶梯,且第i行正好有i个硬币,那么就遍历每一行,第一行是1个硬币,第二行两个。class Solution: def arrangeCoins(self, n: int) -> int: i = 1 while

2022-04-10 18:29:49 163

原创 【力扣练题之二分查找】34: 在排序数组中查找元素的第一个和最后一个位置

第一次自己试了好多次,完成了中等难度的题。题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回[-1, -1]。进阶:你可以设计并实现时间复杂度为O(log n)的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 6输出:[3,4]思路:这个题是找边界,我们如果用二分查找可以演变成找左边界和有边界的问题。左边界满足什么条件呢?

2022-04-09 23:54:36 131

原创 【力扣练题之二分查找】744:寻找比目标字母大的最小字母

题目描述:给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为letters = [‘a’, ‘b’],则答案返回’a’题意解读:首先给定一个只含英文字母的列表和一个目标字母target, 我们要找到这个有序列表里面比目标字母大的最小字母,但是如果列表中没有比目标字母大的字母,就返回列表第一个字母。所以只要

2022-04-09 22:20:34 268

原创 【力扣练题之二分查找】69:x的平方根

力扣练题之二分查找题目描述:给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。我自己的解法:class Solution: def mySqrt(self, x: int) -> int: start = 0 end = x while True:

2022-04-09 21:26:15 225

原创 【力扣练题之二分查找】1385:两个数组间的距离值

题目描述:给你两个整数数组arr1,arr2和一个整数d,请你返回两个数组之间的距离值。「距离值」定义为符合此距离要求的元素数目:对于元素arr1[i],不存在任何元素arr2[j]满足 |arr1[i]-arr2[j]| <= d示例与解释:输入:arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2输出:2解释:对于 arr1[0]=4 我们有:|4-10|=6 > d=2|4-9|=5 > d=2|4-1|=3 > d=2|4-8

2022-04-07 23:23:37 146

原创 【力扣练题之二分查找】367:有效的完全平方数

题目描述:给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如sqrt 。class Solution: def isPerfectSquare(self, num: int) -> bool: return float.is_integer(pow(num,0.5)) def isPerfectSquare_1(self, num: int) -> bo

2022-04-07 22:13:40 302

原创 【力扣练题之二分查找】852: 山脉数组的峰顶索引

题目描述:符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3存在 i(0 < i< arr.length - 1)使得:arr[0] < arr[1] < … arr[i-1] < arr[i]arr[i] > arr[i+1] > … > arr[arr.length - 1]给你由整数组成的山脉数组 arr ,返回任何满足 arr[0] < arr[1] < … arr[i - 1] < arr

2022-04-06 22:53:35 98

原创 【力扣练题之二分查找】35:搜索插入位置

题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。class Solution: def searchInsert(self, nums: list, target: int) -> int: start = 0 ans = len(nums) end = len(nums) - 1 while

2022-04-06 22:19:03 233

原创 微信信息轰炸【简易版】

本版本的微信信息轰炸仅能在电脑端使用:简单讲解下其中的原理:在程序中输入我们想要信息轰炸的信息,然后模拟键盘输入。其实我们就是使用了python的库pynput,模拟输入文字和信息,不多说,上代码from pynput.keyboard import Key,Controller as key_clfrom pynput.mouse import Controller,Buttonimport timedef keyboard_input(string): keyboard = ke

2022-04-06 21:23:59 9563 8

原创 【二分查找】力扣练题之704

题目描述:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。解法:二分查找class Solution_3: def search(self, nums: list, target: int) -> int: try: return nums.index(target) except Exception:

2022-04-05 22:29:40 549

原创 力扣练题之1672:最富有客户的资产总量

题目描述:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产总量 = 3 + 2 + 1 = 6两位客户都是最富有的,资产总量

2022-04-05 21:29:03 609

原创 力扣练题之1342:将数字变成0的操作次数

题目描述:给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。示例:输入:num = 14输出:6解释:步骤 1) 14 是偶数,除以 2 得到 7 。步骤 2) 7 是奇数,减 1 得到 6 。步骤 3) 6 是偶数,除以 2 得到 3 。步骤 4) 3 是奇数,减 1 得到 2 。步骤 5) 2 是偶数,除以 2 得到 1 。步骤 6) 1 是奇数,减 1 得到 0 。思路:直接解题法,我们要计算的是将其

2022-04-05 21:01:37 330

原创 力扣练题之1337.矩阵中战斗力最弱的第K行

题目描述给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。我自己的暴力解法:class Solution: def kWeakestRows(self, mat, k: int):

2022-04-02 22:58:23 132

原创 力扣练题之876题:链表的中间结点

题目描述:876.链表的中间结点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next

2022-04-02 21:23:27 742

原创 力扣练题之最简单的力扣题412题

题目描述:给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i] == “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。answer[i] == “Fizz” 如果 i 是 3 的倍数。answer[i] == “Buzz” 如果 i 是 5 的倍数。answer[i] == i (以字符串形式)如果上述条件全不满足。来源:力扣(LeetCode)链接:https://leet

2022-04-02 20:32:29 214

原创 python 批量替换同文件夹下所有文件的指定内容

场景:在工作中有的时候我们会遇到这样的场景,在网上下载下来的资料总是有一些我们不想要的内容。此时我们怎么批量删除他们呢?import re,osfilePath = r"C:\Users\Administrator\Desktop\StudyNotes"fileList = os.listdir(filePath)delInfo = r"<a(.*)</a>"temp_name = r"C:\Users\Administrator\Desktop\StudyNotes\tem

2022-04-02 19:44:44 1755

原创 力扣练题之赎金信383题【史上最全解法】

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1:输入:ransomNote = “a”, magazine = “b”输出:false示例 2:输入:ransomNote = “aa”, magazine = “ab”输出:false示例 3:输入:ransomNote

2022-04-01 22:55:06 369

原创 力扣练题(day3):滑动窗口问题

对于滑动窗口问题class Solution: def problemName(self, s: str) -> int: # Step 1: 定义需要维护的变量们 (对于滑动窗口类题目,这些变量通常是最小长度,最大长度,或者哈希表) x, y = ..., ... # Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口 start = 0 for end in range(l..

2022-03-23 20:56:45 132

空空如也

空空如也

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

TA关注的人

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