python
听说不挂科
这个作者很懒,什么都没留下…
展开
-
声速的测量数据处理代码
#说明,我的距离都是负数,所以你们如果是正数需要修改for循环的内容l1=[100.26,95.46,90.63,85.47,80.91,76.15,71.59,66.88,61.98,57.27,52.61,47.83,43.06,38.24,33.56,28.71] #共振干涉法l2=[100.14,95.56,90.37,86.08,81.26,76.44,71.8,67.03,62.12,57.56,52.76,48.07,43.28,38.44,33.79,28.87] #相位比较法l3原创 2021-11-23 19:57:45 · 1411 阅读 · 0 评论 -
处理液晶的光电效应画图代码
import matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签x=[0,0.5,0.7,0.8,0.9,0.95,1,1.05,1.1,1.15,1.2,1.3,1.4,1.45,1.5,1.55,1.6,1.65,1.7,1.8,2,3]y1=[100,100,100,99,98,96,92,85,78,69,59,41,25,19,14,10,7原创 2021-11-11 21:16:45 · 609 阅读 · 0 评论 -
如何使用labelImg来标注数据集
首先下载好labelImg(最好自定义下载,因为后面需要知道路径)LabelImg下载传送门打开Anaconda的小黑窗将路径切换至labelImg的路径,然后输入labelimg打开软件就可以了打开后如下图我们标注数据集一般都是标注很多,所以我们需要添加一个文件夹,这样省去选择文件夹的操作在右侧的这个位置我们可以看到文件夹中所有的图片然后我们再选择保存标签文件的地址上面步骤都做完后,我们就可以使用 w 这个快捷键来框选物品,然后在框框里面输入类别标完后点击save或者快捷原创 2021-10-17 21:04:47 · 2695 阅读 · 1 评论 -
堆栈模拟队列(python)
设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item ):将元素item压入堆栈S;ElementType Pop(Stack S ):删除并返回S的栈顶元素。实现队列的操作,即入队void AddQ(Elemen原创 2021-09-25 16:00:38 · 275 阅读 · 0 评论 -
7-2 列车厢调度(python)
大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下:有三条平行的列车轨道(1、2、3)以及1-3和2-3两段连接轨道。现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道。规则是:每次转移1节车厢;处在1号轨道的车厢要么经过1-3连接道进入3号轨道(该操作记为"1->3"),要么经过两条连接轨道直接进入2号轨道(该操作记为"1->2");一.原创 2021-09-25 14:49:40 · 1138 阅读 · 0 评论 -
7-4 数组循环左移 (20 分)(Python)
本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整数,其间以空格分隔。输出格式:在一行中输出循环左移m位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:8 31 2 3 4 5 6 7 8原创 2021-09-21 20:02:56 · 1757 阅读 · 0 评论 -
7-3 两个有序序列的中位数 (20 分)(Python)
已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。(A0 为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。输出格式:在一行中输出两个输入序列的并集序列的中位数。输入样例1:51 3 5 7 92 3 4 5 6结尾无空行输出样例1:4结尾无空行输入样例2:6-100 -10 1 1 1 1-50 0 2 3 4 5输出样例2:1这原创 2021-09-21 19:57:04 · 407 阅读 · 0 评论 -
7-2 两个有序链表序列的合并 (20 分)(Python)
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1结尾无空行输出样例:1 2 3 4 5 6 8 10结尾无空行lst=input().split()[:-1]+原创 2021-09-21 19:53:12 · 571 阅读 · 0 评论 -
关于使用QtGui.QImage导致图像灰白且扭曲的问题
使用之前的代码跑出来图片是这样的可以看到图像是灰白的,并且原本左边的一部分图片跑到右边去了之前的代码showImage = QtGui.QImage(result_image.data, result_image.shape[1],result_image.shape[0],QtGui.QImage.Format_BGR888)修改之后的代码showImage = QtGui.QImage(result_image.data,result_image.shape[1], result原创 2021-08-24 17:14:09 · 901 阅读 · 0 评论 -
超简单解决No module named ‘pycocotools‘
运行这一篇论文中涉及的代码时,可能会遇到这个提示的错误。ModuleNotFoundError: No module named ‘pycocotools’但是pip安装方法在win系统不可行,看过很多博主的教程有的还要安装VS,有的是下载代码,然后pip一个什么东西,太麻烦了,而且中间还会出错,最后也是浪费了时间没有解决…其实下载whl文件,然后pip一下就可以啦各版本pycocotools.whl文件点击下图任意一个版本,(我安装的是2.0.0),下载的时候一定要注意对应的python版本,cp转载 2021-08-14 22:11:08 · 339 阅读 · 0 评论 -
超级全Numpy模块
一、介绍Numpy —— Python开源的科学计算工具包高级的数值编程工具,是许多高级工具的构建基础,比如Pandas(重点针对二维数组)强大的N维数组对象:ndarray(二维,三维)对数组结构数据进行矩阵运算(不用遍历循环)随机数、线性代数、傅立叶变换等功能二、Numpy基础数据结构Numpy数组是一个多维数组对象,称为ndarray,由两部分组成:①实际的数据②描述这些数据的元数据方法 作用ar 输出数组,注意数组的格式:中括号,元素之间没有逗号。交互方式下输出,会有arra.转载 2021-03-23 09:03:03 · 303 阅读 · 0 评论 -
爬虫之自动查询12306车票
想什么呢,等更新吧fighting原创 2021-03-22 21:00:48 · 631 阅读 · 10 评论 -
爬虫之爬取PythonTip的题目
作为寒假在家刷题的网站PythonTip的功劳功不可没现在我们来爬取PythonTip的题目,要爬取内容如下首先分两个cell第一个cell函数是获取上边的题号,挑战题目,解题人数,通过率和难度,并且只执行一次第二个cell就是正常爬取内容,内容没啥多讲,看不懂参考我以前的文章def mulu(): url=f'http://www.pythontip.com/coding/code_oj?page=1' xpath_1='//*[@id="__next"]/section/d原创 2021-03-19 11:31:01 · 268 阅读 · 0 评论 -
修改jupyter打开的默认浏览器
对于一部分人来说,以前用的都是Microsoft Edge,要进入爬虫世界,示例用的chromedriver mirror,所以需要使用Chrome首先打开anaconda的anaconda prompt在里面输入jupyter notebook --generate-config然后顺着下面的路径打开py文件,可以用记事本打开,然后找到c.NotebookApp.browser之后把上面的东东改成import webbrowserwebbrowser.register(“chrome”,N原创 2021-03-16 18:49:49 · 777 阅读 · 0 评论 -
爬虫之批量下载表情包
首先要获取网页数据mport requestsfrom bs4 import BeautifulSoupfrom pathlib import Pathurl="https://www.fabiaoqing.com/biaoqing/lists/page/1.html"response=requests.get(url)soup=BeautifulSoup(response.content,"lxml")获取的网页源代码如下图片需要用标签img来爬取在图片上右键检查,此时会有一个框变原创 2021-03-16 11:29:58 · 481 阅读 · 1 评论 -
爬虫(5)爬取多页数据
我们点开其他年份的GDP数据时,会发现网站的变化只有后面的数字变成了相应的年份,所以我们可以通过for循环来实现对多页数据的爬取from selenium import webdriverfrom bs4 import BeautifulSoupimport csvdriver=webdriver.Chrome()out=open('d:/gdp.csv','w',newline='')csv_write=csv.writer(out,dialect='excel')for year in原创 2021-03-15 21:11:57 · 2270 阅读 · 0 评论 -
爬虫(4)爬取数据写入excel
话不多说,先贴代码from selenium import webdriverfrom bs4 import BeautifulSoupimport csvdriver=webdriver.Chrome()url="https://www.kylc.com/stats/global/yearly/g_gdp/1960.html"xpath="/html/body/div[2]/div[1]/div[5]/div[1]/div/div/div/table"driver.get(url)tab原创 2021-03-15 20:57:15 · 980 阅读 · 2 评论 -
爬虫(3)爬取数据再处理
上次我们爬取了1960年世界的GDP但是还是有一些数据需要去除的,比如空,还有有空格的地方,还有广告位等等,这里我们去除这些东西from selenium import webdriverfrom bs4 import BeautifulSoupdriver=webdriver.Chrome()url="https://www.kylc.com/stats/global/yearly/g_gdp/1960.html"xpath="/html/body/div[2]/div[1]/div[5]/原创 2021-03-15 20:44:45 · 400 阅读 · 0 评论 -
爬虫(2)初爬取1960世界各国GDP
本次需要爬取的内容如图(图为一部分)原创 2021-03-15 20:13:02 · 533 阅读 · 1 评论 -
爬虫(1)工具的准备
首先在Anaconda Prompt 中安装selenium然后百度ChromeDriver Mirror在这里找到最新的一个下载就行(注意浏览器版本),windows都下载32位的,这里不区分64和32(因为没有64 /滑稽)下载后安装入python文件中的Scripts文件夹中...原创 2021-03-15 19:10:59 · 98 阅读 · 0 评论 -
python解决经典递归问题:汉诺塔hanoi
问题没有必要过多介绍步数=2^n-1这里要求输出步骤def hanoi(n,x,y,z):#n为盘子数目,xyz表示三根柱子 if n==1:#一个盘子单列 print(x, '-->', z) else: hanoi(n-1,x,z,y)#将n-1个盘子从x移动到y print(x, '-->', z) hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到zn=int(input())hanoi(原创 2021-03-15 18:58:24 · 214 阅读 · 0 评论 -
python做题记录之木棒分割
题目描述:Py要把一根长木棒分割成n段,首先把长木棒分割成两段,然后每次从分割出来木棒中取出一根来分割成两段,最后得到n段.把一根长为m的木棒分成两段的费用为m.Py希望分割的费用尽可能少,请你找到这个最小费用… 给你一个正整数n(1<=n<=2000,表示分割成多少段)和一个长度为n的正整数列表L(L中的元素表示分割成的每一段的长度),长木棒的长度等于这n个数的和,分割中不会有损失. 请你输出一个正整数,表示分割所需的最少总费用。 如: n = 5 L = [1,2,3,4,5] 则输出:原创 2021-03-15 12:44:58 · 731 阅读 · 0 评论 -
python做题记录之list深度
题目描述:给你一个多层list L, 如 L=[1,2,3,[4,[5,6]]], 求出最内层[]的深度并输出, 如样例L的结果为3示例:输入:L = [1, 2, 3, [4, [5, 6]]]输出:3定义一个新的list,将原list中的子list全部并排放入新list中,循环直到新的list没有子listdef sonlist(x): lst = [] for y in x: if type(y) == list: for z in原创 2021-03-12 12:31:36 · 446 阅读 · 1 评论 -
python做题记录之IP判断
题目描述:互联网上的每台计算机都有一个IP,合法的IP格式为:A.B.C.D。 其中A、B、C、D均为位于[0, 255]中的整数。为了简单起见,我们规定这四个整数中不允许有前导零存在,如001这种情况。 现在给你一个字符串s(s不含空白符),请你判断s是不是合法IP,若是,输出Yes,否则输出No. 如:s=“202.115.32.24”, 则输出Yes; s=“a.11.11.11”, 则输出No.示例:输入:s = “202.115.32.24”输出:Yes注意输出No有三种情况1.存在非原创 2021-03-12 11:17:21 · 1209 阅读 · 4 评论 -
python做题记录之正方形拼接
题目描述:现在有一堆木棒,告诉你它们的长度,判断能否用这些木棒拼接成正方形。 注意:所有的木棒都要用上,且不能截断。 给你一个正整数list L, 如 L=[1,1,1,1], L中的每个数字代表一个木棒的长度,如果这些 木棒能够拼成一个正方形,输出Yes,否则输出No。 如L=[1,1,1,1],则输出Yes;L=[1,1,1],则输出No。 注:数据已于2014-03-11加强,之前通过的代码可能无法再次通过示例:输入:L = [1, 1, 1, 1]输出:Yes1.将所有木棒根据长度从大到小原创 2021-03-09 13:00:27 · 858 阅读 · 4 评论 -
python做题记录之乘法运算
题目描述:给你两个整数a和b(0 < a,b < 1000),按笔算的格式输出a乘以b(a是被乘数,b是乘数)的运算过程, 最后再输出一行 “********************”(二十个星号)。 乘号用小写字母“x”表示,每行末尾不能有多余的空格。具体输出格式见下面的例子: 例1: a=89, b=13,则输出: 89 x 13 -------- 267 89 -------- 1157 ******************** 例2: a=2, b=2,则输出: 2 x 2 -----原创 2021-03-04 20:52:21 · 1797 阅读 · 2 评论 -
python做题记录之那些年我们集过的卡片
题目描述:不知道大家的童年有没有过和我相似的经历。我记得小时候经常买干脆面,不为别的,只是因为里面有一张人物卡片。 其实有很多这样的活动都有一个相同的模式:N 种人物卡片,每次买一包干脆面随机得到一张。当你集齐这 N 种人物时,就会有相应的奖励。 那时候还不懂怎么计算概率,白白给人家送了好多钱,吃了好多干脆面。 现在的任务是,给你一个正整数 N (1 <= N <= 10^4),请你帮我从期望的角度计算平均需要买多少包干脆面才能集齐这 N 种人物。 提醒:由于结果可能不是整数,所以结果只保留到原创 2021-03-04 19:22:07 · 180 阅读 · 1 评论 -
python做题记录之切西瓜
题目描述:小Py要吃西瓜,想知道切了n刀后,最多能切出多少块?请你们帮助下小Py. 给你一个正整数n(0 < n < 10^3),你输出一个数字,代表最多能切多少块。 如n=1, 输出2。示例:输入:n = 1输出:2这个问题的本质是n个平面最多可以把空间划分成多少块.我们来看如下三个问题:n个点最多可以把一条直线划分成多少段,通项公式记为A(n)。n条直线最多可以把平面划分多成个区域,通项公式记为B(n)。n个平面最多可以把空间划分多少块,通项公式记为C(n)。第一个问题原创 2021-03-03 19:54:22 · 696 阅读 · 1 评论 -
python做题记录之进制转化
题目描述:给你一个十进制数a,将它转换成b进制数,如果b>10,用大写字母表示(10用A表示,等等) a为32位整数,2 <= b <= 16 如a=3,b = 2, 则输出11示例:输入:a = 7 b = 2输出:111注意还有负数的情况char_lst = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']for i in range(0, 26): char_lst.append(chr(65+i))# 用原创 2021-03-02 16:29:55 · 509 阅读 · 2 评论 -
python做题记录之超级楼梯
题目描述:有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 现在给你一个正整数n(0示例:输入:n = 2输出:1通过观察规律,可以知道走法有1,2,3,5,8.。。。发现就是斐波那契数列,但是前两项变成1和2,所以直接用斐波那契解题方法解决即可f1=1f2=2if n==2: print(1)elif n==3: print(2)else: for i in range(n-3): f=f1+f2原创 2021-03-02 10:41:32 · 518 阅读 · 5 评论 -
python自学做题记录之分拆素数和
题目描述:把一个偶数拆成两个不同素数的和,有几种拆法呢? 现在来考虑考虑这个问题,给你一个不超过10000的正的偶数n, 计算将该数拆成两个不同的素数之和的方法数,并输出。 如n=10,可以拆成3+7,只有这一种方法,因此输出1.示例:输入:n = 4输出:0这题思路就是用一个循环for从3,到n-2,因为一个偶数拆的话如果从2开始,另一个一定是偶数,所以没必要,从3开始,并且中途步长为2(因为不可能为偶数),到n-2就是因为不需要循环到n并且要是奇数,所以中间写range(3,n-1,2),然后原创 2021-03-02 09:31:21 · 1838 阅读 · 0 评论 -
python自学做题记录之py数
题目描述:Py从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992, 这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22, 同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。 Py非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Py数。 现在给你一个十进制4位数n,你来判断n是不是Py数,若是,则输出Yes,否则输出No。 如n=2992,则输出Yes; n = 9999,则输出N原创 2021-03-01 11:21:54 · 609 阅读 · 2 评论 -
python自学做题记录之查找
题目描述:输入一个有序数组nums(int类型, 从小到大排序) 及数字n,输出n在nums 的下标(从0计算),如果不存在输出-1.示例:输入:nums = [1, 1, 2, 3, 4, 5] n = 1输出:0直接查找出下标并且没有找到返回-1的函数为find函数,但是其对象是字符串而不是列表,列表中的查找函数为index(),但是没有找到元素返回错误,所以可以加一个判断,代码如下print(nums.index(n) if n in nums else -1)...原创 2021-03-01 11:04:10 · 168 阅读 · 0 评论 -
python自学做题记录之格式化时间
题目描述:给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串, 如t={‘year’:‘2013’,‘month’:‘9’,‘day’:‘30’,‘hour’:‘16’,‘minute’:‘45’,‘second’:‘2’} 请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。示例:输入:t = {“year”: “2013”原创 2021-02-25 23:15:46 · 1549 阅读 · 1 评论 -
python自学做题记录之加油站
题目描述:一个环形的公路上有n个加油站,编号为0,1,2,…n-1, 每个加油站加油都有一个上限,保存在列表limit中,即limit[i]为第i个加油站加油的上限, 而从第i个加油站开车开到第(i+1)%n个加油站需要cost[i]升油,cost为一个列表。 现在有一辆开始时没有油的车,要从一个加油站出发绕这个公路跑一圈回到起点。 给你整数n,列表limit和列表cost,你来判断能否完成任务。 如果能够完成任务,输出起始的加油站编号,如果有多个,输出编号最小的。 如果不能完成任务,输出-1。示例:原创 2021-02-25 22:53:05 · 422 阅读 · 1 评论 -
python自学做题记录之序列判断
题目描述:给你一个整数组成的列表L,按照下列条件输出: 若L是升序排列的,则输出"UP"; 若L是降序排列的,则输出"DOWN"; 若L无序,则输出"WRONG"。示例:输入:L = [1, 1, 3, 3, 4]输出:UP可以用死办法做f=0for i in range(len(L)-1): if L[i]>L[i+1]:#递减 f=1 if L[i]<L[i+1] and f==1:#如果出现了递增并且之前出现过递减的情况,那么就是WRONG原创 2021-02-25 22:23:11 · 1245 阅读 · 0 评论 -
python自学做题记录之判断有无相同数字
题目描述:给你一个整数列表L,判断L中是否存在相同的数字, 若存在,输出YES,否则输出NO。示例:输入:L = [123, 432, 23]输出:NO这里可以运用count来判断是否有重复元素def solve_it(): jus=[] f=0 for i in L: jus.append(L.count(i)) for i in jus: if i>1: return 'YES'原创 2021-02-25 16:40:36 · 3246 阅读 · 2 评论 -
python自学做题记录之逆解最小公倍数和最大公约数
题目描述:我们经常遇到的问题是给你两个数,要你求最大公约数和最小公倍数。今天我们反其道而行之,给你两个数a和b,计算出它们分别是哪两个数的最大公约数和最小公倍数。输出这两个数,小的在前,大的在后,以空格隔开。若有多组解,输出它们之和最小的那组。注:所给数据都有解,不用考虑无解的情况。例如:a=3, b = 60则输出:12 15这题思路反着来记着一个公式,最大公约数 x 最小公倍数=a * b所以运用暴力解题法,两个循环遍历就行这里可以有个范围,数据最小只能是a,最大只能是b,所以循环的时候只原创 2021-02-24 22:33:08 · 722 阅读 · 0 评论 -
python自学做题记录之大写人民币
题目描述:银行在打印票据的时候,常常需要将阿拉伯数字表示的人民币金额转换为大写表示,现在请你来完成这样一个程序。在中文大写方式中,0到10以及100、1000、10000被依次表示为: 零 壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万以下的例子示范了阿拉伯数字到人民币大写的转换规则:1 壹圆11 壹拾壹圆111 壹佰壹拾壹圆101 壹佰零壹圆-1000 负壹仟圆1234567 壹佰贰拾叁万肆仟伍佰陆拾柒圆现在给你一个整数a(|a|<100000000), 请你打印出人民原创 2021-02-24 16:35:45 · 296 阅读 · 0 评论 -
python自学做题记录之光棍的悲伤
题目描述:光棍们对1总是那么敏感,因此每年的11.11被戏称为光棍节。小Py光棍几十载,光棍自有光棍的快乐。让我们勇敢地面对光棍的身份吧,现在就证明自己:给你一个整数a,数出a在二进制表示下1的个数,并输出。例如:a=7则输出:3结合我上一篇博客https://blog.csdn.net/qq_53029299/article/details/114015018这里可以直接贴代码不过这里要注意一点,bin转换后得到的二进制数字是字符串类型,需要int转换一下def solve_it():原创 2021-02-24 11:42:31 · 586 阅读 · 0 评论