python题目
题目解决
L-xykeen
菜鸟一枚
展开
-
L1-049 天梯赛座位分配 python
天梯赛座位分配 python原创 2023-02-23 13:43:56 · 317 阅读 · 0 评论 -
python 凸多边形面积
【问题描述】给出平面上一组顶点的坐标,计算出它们所围成的凸多边形的面积。【输入形式】从标准输入读取顶点坐标。格式为:第一行是点的个数N(3≤N≤15),后面紧接着N行,每行两个数字 (由空格隔开),分别表示该点的X、Y坐标(0≤X,Y≤32767)。所有点的坐标互不相同,且按顺时针次序给出。输入数据确保该多边形是一个凸多边形。【输出形式】向标准输出打印一个浮点数,是该多边形的面积。该浮点数保留两位小数。【输入样例】43 33 01 01 2【输出样例】5.00【样例说明】输原创 2021-12-09 23:21:45 · 1540 阅读 · 0 评论 -
python 矩阵运算
【问题描述】对于多个N阶矩阵,依次进行加、减运算。【输入形式】从标准输入读取输入。第一行只有一个整数N(1≤N≤10),代表矩阵的阶数。接下来是一个矩阵,是N行,每行有N个整数(可能是正、负整数),是矩阵的所有元素。然后一行只含一个字符"+“或”-",代表加、减操作。然后用同样的方式输入另一个矩阵。后续仍然是运算符和矩阵。直至运算符为"#"时停止计算,将结果输出。【输出形式】向标准输出打印矩阵的操作结果。输出N行,每行对应矩阵在该行上的所有元素,每一行末均输出一个回车符。每个元素占5个字符原创 2021-12-09 22:24:22 · 320 阅读 · 0 评论 -
python扩展字符
【问题描述】编写一函数expand(s1,s2),用以将字符串s1中的缩记符号在字符串s2中扩展为等价的完整字符,例如将a-d扩展为abcd。该函数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与-a-z等类似的情况。在main函数中测试该函数:从键盘输入包含缩记符号的字符串,然后调用该函数进行扩展,输出扩展结果。注意:待扩展字符串中有可能包含空格,例如:a-d x-z应扩展成:abcd xyz。所以读入待扩展字符串时,应能够读入包含空格的字符串。只要缩记符号-之后的字符比之前的字符的原创 2021-12-09 20:40:02 · 1613 阅读 · 1 评论 -
python 绝对素数
【问题描述】所谓"绝对素数"是指具有如下性质的素数:一个素数,当它的各位数字逆序排列,形成的整数仍为素数,这样的数称为绝对素数。例如,11,79,389是素数,其各位数字对换位置后分别为11,97,983仍为素数,因此这三个素数均为绝对素数。编写函数absolute(int x),判断一个整数是否为绝对素数,如果x是绝对素数则返回1,否则返回0。编写程序,接收控制台输入的两个整数a,b。调用absolute函数输出所有a到b之间(包括a和b)的绝对素数【输入形式】控制台输入两个整数a和b,以空格分隔。原创 2021-12-09 14:16:02 · 2774 阅读 · 0 评论 -
python括号匹配
【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符。编写程序,判别串中的括号是否正确匹配,即: 各种左、右括号的个数要一致; 要符合正确的嵌套规则。【输入形式】从当前目录下correct.in文件中读入一行字符串。字符串最大长度80,不含空格【输出形式】输出到当前目录下correct.out文件中。输出只有一个单词,如果括号匹配则输出"True"到文件中,否则输出"False"。在输出末尾要有一个回车符。【样例输入】设输入原创 2021-12-07 20:59:43 · 4198 阅读 · 0 评论 -
python中缀表达式求值
【问题描述】编写一个程序,对输入的中缀表达式求值。中缀表达式由以下几部分构成: 运算量都是一位整数。 运算符有四种:'+'、 '-'、 '*'、 '/',代表四则运算。 小括号(可以嵌套)。在计算时,运算量均以浮点数进行计算。运算结果也是一个浮点数。【输入形式】从当前目录下express.in文件读入中缀表达式。该文件只有一行字符串,是由上述各部分构成的一个合法中缀表达式。表达式中不含空格,字符个数不超过80个。【输出形式】将计算结果输出到当前目录下ex原创 2021-12-07 20:06:29 · 1195 阅读 · 1 评论 -
python矩阵相交
【问题描述】平面上有两个矩形A和B,其位置是任意的。编程求出其相交部分(如图中阴影部分)的面积。(0≤a,b≤1000)【输入文件】从标准输入读取两行以空格分隔的整数,格式如下:Ax1 Ay1 Ax2 Ay2Bx1 By1 Bx2 By2其中(x1,y1)为矩形左上顶点座标,(x2,y2)为右下顶点座标。各座标值均为整数,取值在0至1000之间。【输出文件】向标准输出打印一个整数,是两矩形相交部分的面积(可能为0)。在输出末尾要有一个回车符。【输入样例】0 0 2 21 1 3 4【输原创 2021-12-06 22:56:23 · 986 阅读 · 0 评论 -
python判断出栈序列
【问题描述】对于一个栈,已知元素的进栈序列,判断一个由栈中所有元素组成的排列是否是可能的出栈序列。比如,进栈序列为1 2 3 4,则可能的出栈序列有4 3 2 1,1 4 3 2等。而1 4 2 3就不是。【输入形式】从标准输入读取第一行是一个整数N(3≤N≤10),代表有N个元素,其进栈序列是1 2 3 … N。第二行是空格分隔的1~N的数字的一个排列。【输出形式】向标准输出打印结果。如果该排列是可能的出栈序列,则打印"YES",否则打印"NO"。在行末要输出一个回车符。【输入样例】3原创 2021-12-06 20:11:52 · 1477 阅读 · 0 评论 -
python 矩阵操作
【问题描述】输入一个N阶矩阵(3≤N≤10且N为奇数),矩阵中元素均为整数,取值在-1000至+1000之间。将该矩阵中元素的最大值放在矩阵中心,元素的最小值放在矩阵的四个边界上,其余位置换成原矩阵中所有元素的和。【输入文件】从标准输入读取输入。第一行只有一个整数N,代表矩阵的阶数。后续有N行输入,每行有N个以若干空格分隔的整数,代表矩阵在该行上的所有元素。【输出文件】向标准输出打印矩阵的操作结果。输出N行,每行对应矩阵在该行上的所有元素,每一行末均输出一个回车符。每个元素占5个字符宽度(包括负原创 2021-12-06 18:56:56 · 1712 阅读 · 0 评论 -
python子串逆置
【问题描述】输入两行字符串s和t(s和t最长含50个字符,可以含有空格),将s串中首次与t匹配的子串逆置,并将结果输出。【输入文件】输入文件为invertsub.in,含有两行字符串s和t,分别以#作为串结束符。【输出文件】输出文件invertsub.out只有一行,包含一个串,是要求的输出结果。在行末也要有一个回车符。【输入样例】helloworld#llowor#【输出样例】herowollld【样例说明】helloworld和llowor中重复的子串为llowor,逆置后结果为原创 2021-12-05 16:20:58 · 671 阅读 · 0 评论 -
连续正整数的和
【问题描述】对于一个正整数x(3≤x≤1000),寻找一种方案,将x分解成连续正整数的和。即x=x1+x2+…+xn其中x1、x2、…、xn是自小至大的连续正整数,且n>1。比如,对于输入的数字10,可以分解成"10=1+2+3+4"。如果存在多于一种的可行方案,则选取等式右边项的个数最多的那一种。比如,9可以分解为"9=2+3+4",也可以分解为"9=4+5"。但是前一种分解成3个数的和,后一种分解成2个数的和,所以前一种是有效解。【输入文件】输入文件为当前目录下的scpi.in,该文原创 2021-12-05 14:58:01 · 3130 阅读 · 0 评论 -
全排列数的生成
【问题描述】输入整数N( 1 <= N <= 10 ),生成从1~N所有整数的全排列。【输入形式】输入整数N。【输出形式】输出有N!行,每行都是从1~N所有整数的一个全排列,各整数之间以空格分隔。各行上的全排列不重复。输出各行遵循"小数优先"原则, 在各全排列中,较小的数尽量靠前输出。如果将每行上的输出看成一个数字,则所有输出构成升序数列。具体格式见输出样例。【样例输入1】1【样例输出1】1【样例说明1】输入整数N=1,其全排列只有一种。【样例输入2】3【样例输出2】原创 2021-12-05 14:30:10 · 773 阅读 · 0 评论 -
统计整数个数
【问题描述】输入一行字符串,含有数字和非数字字符以及空格等,如:df23adfd56 2343?23dgjop535如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依次输出。【输入文件】从当前目录下的trans.in文件中取得输入。该文件内只有一行,含有数字和其它任意字符。该行最长含80个字符。【输出文件】将输出打印到当前目录下的trans.out文件中。输出文件第一行为字符串包含的整数个数,第二行依次为各个整数,各整数之间用一个空格分隔。在第二行末原创 2021-12-04 20:25:44 · 2700 阅读 · 1 评论 -
多项式加法
【问题描述】编写一个程序实现两个一元多项式相加的运算。【输入形式】从当前目录下的poly.in文件读入两行以空格分隔的整数,每一行代表一个多项式,且该多项式中各项的系数均为0或正整数,最高幂次不超过50。对于多项式(n<=50)的表示方法如下:an n an-1 n-1 … a1 1 a0 0即相邻两个整数分别表示表达式中一项的系数和指数。在输入文件中只出现系数不为0的项。【输出形式】将运算结果输出到当前目录下的poly.out文件中。将系数不为0的项按指数从高到低的顺序输出,每次输出其原创 2021-12-04 18:29:23 · 519 阅读 · 0 评论 -
乒乓球比赛
【问题描述】两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单,a说他不和x比,c说他不和x,z比,请编程找出三对赛手的名单.【输入形式】控制台任意输入甲或者乙队一个队员的代号,是一个字符,可以是’a’,‘b’,‘c’,‘x’,‘y’,‘z’.【输出形式】控制台输出与该选手比赛的另一个选手的代号.【样例输入】a【样例输出】z【样例说明】与a进行比赛的选手是zlist_a = ['a', 'b', 'c']list原创 2021-12-04 15:45:47 · 694 阅读 · 0 评论 -
15. 检查括号是否匹配
【问题描述】编写一个程序,用于对C源程序进行括号匹配检查,并将检查结果输出到文件中。程序应检查输入源程序中左右大括号、小括号的个数是否相等,并且符合C语言语法规定的括号嵌套规则,不得交叉嵌套。输入文件最长不超过500个字符。本程序只检查括号是否匹配,不用对输入源程序中的其它语法成份进行检查。【输入文件】输入文件为当前目录下的check.in,是一段任意的C程序。【输出文件】输出文件为当前目录下的check.out。该文件只有一行,是一个单词"True"或"False"。如果没有括号匹配错误则输原创 2021-12-02 21:11:53 · 1305 阅读 · 0 评论 -
11. 链表操作
【问题描述】根据输入的两行字符串(每行最长80字符),建立两个单链表A和B,每个字符作为表中一个元素。并执行以下操作:从单链表A中删除自第i(i = 1, 2, …)个元素起的共len个元素,然后将删除后的单链表A插入到单链表B的第j(i = 1, 2, …)个元素之前。【输入文件】输入文件listfun.in前三行分别为三个整数,分别表示i,len,j。第一行为字符串A,第二行为字符串B,分别以#结束。【输出文件】输出文件listfun.out有两行,分别为操作结束后单链表A、B的元素。在每原创 2021-12-02 20:58:19 · 558 阅读 · 0 评论 -
13. 均分纸牌
【问题描述】有 N 堆纸牌,各堆编号分别为 1,2,…, N。每堆上有若干张纸牌,但所有纸牌总数必为 N 的整数倍。可以在任一堆上取若干张纸牌,然后按如下规则进行移动:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。例如 N=4,4 堆纸牌数分别为: ① 9 ② 8 ③ 17 ④ 6移动3次可达到目的: 从原创 2021-12-02 20:54:21 · 433 阅读 · 0 评论 -
最大公约数和最小公倍数
【问题描述】输入两个正整数a和b(0≤a,b≤1000000),求出其最大公约数和最小公倍数并输出。【输入文件】从标准输入读取一行,是两个整数a和b,以空格分隔。【输出文件】向标准输出打印以空格分隔的两个整数,分别是a、b的最大公约数和最小公倍数。在输出末尾要有一个回车符。【输入样例】12 18【输出样例】6 36【样例说明】12和18的最大公约数是6,最小公倍数是36.a, b = input().split(' ') # 获取a,ba = int(a)aa = ab =原创 2021-11-30 20:55:00 · 858 阅读 · 0 评论 -
交叉引用生成器
【问题描述】“交叉引用生成器”(cross-refrencer)是指具有如下功能的程序:对输入的一篇文档,统计出现的所有单词及其所在行号。将其结果以规定格式打印。【输入形式】程序从标准输入上读入一篇文档。该文档由若干行组成,每行中包含一系列单词。空行表示输入结束。行号由1开始计数。该文档中单词总量不超过200,每个单词长度最大不超过20个字符。【输出形式】在标准输出上打印文档中所有出现的单词及其所在行号。输出有若干行,每一行都是文档中出现的一个单词。按如下规格输出:word:line1,l原创 2021-11-30 20:13:27 · 758 阅读 · 0 评论 -
2. 文本解析器
统计出给定文本的词频,找出词频最高和最低的单词;2)找出给定文本中“Jit”出现的次数(不分大小写);3)将给定文本中段落进行反向输出,并形成新的文本文件。4)判断给定文本中第二段文本是否符合单词首字母大写,其余之母小写。如果不符合请转换输出到"学号".txt文件中5)使用re.match()函数在给定文本中找出是否存在连续大于等于4个字母大写的字符串,请输出。6)使用re.sub()函数实现给定文本中的“Nanjing”替换为Beijing",并输出。import re# 读取文件wi.原创 2021-11-15 18:50:36 · 571 阅读 · 0 评论 -
3. 字符串统计排序
【问题描述】编写一个程序,接收用户输入的一个字符串(可以包含空格),统计其中所有出现过的所有字符,并按照频率高低的顺序排列输出。频率相同的字符按输入顺序输出。【输入形式】用户在第一行输入一个字符串,以回车结束输入。【输出形式】程序统计字符串中出现的所有字符,然后按照字符出现频率大小排序输出,频率相同时,按输入顺序输出。输出形式规定为每行输出4个字符数据,输出格式为:字符-出现次数。每个字符-出现次数输出中间用一个空格分隔,每行末尾没有空格。程序输出结尾有一个回车。【样例输入】The job r原创 2021-11-12 19:42:33 · 1799 阅读 · 0 评论 -
2. 字符串匹配
【问题描述】编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回1,否则返回0。要求在main函数中测试该函数:先从键盘输入字符串s、t(不超过100个字符),然后调用该函数,并输出返回的结果。【输入形式】从键盘分行输入两个字符串:s,t【输出形式】输出有两种可能,Yes或No【输入样例】abcdefghfgh【输出样例】Yes【样例说明】输入了两个字符串s,t,发现t是在s的尾部,则输出Yes'''1.获取两个字符串2.构造函数3.获取两个字符穿原创 2021-11-11 21:18:15 · 1101 阅读 · 0 评论 -
4. 矩阵旋转
【问题描述】输入矩阵阶数n,给n阶矩阵的元素按行序由1到n*n顺序赋值,然后将其向右旋转90度,输出旋转后的矩阵。【输入形式】控制台输入阶数n。【输出形式】输出旋转90度后的矩阵,其中每个数字占4位字符的宽度,向右对齐。【样例输入】4【样例输出】13 9 5 114 10 6 215 11 7 316 12 8 4【样例说明】输入整数n = 4,输出旋转后的矩阵。'''1.获取输入2.定义二维数组3.for循环向二维数组加入值3原创 2021-11-11 20:05:50 · 848 阅读 · 0 评论 -
3. 魔方阵
【问题描述】输入一个自然数N(1≤N≤9),要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位置上的数字从外向中心逐渐增大。N=3时:1111112221123211222111111N=4时:1111111122222112333211234321123332112222211111111【输入形式】从标准输入读取一个整数N。【输出形式】向标准输出打印结果。输出符合要求的方阵,每个数字占一个字符宽度,在每一行末均输出一个回车符。【输入样例】3【输出原创 2021-11-10 22:18:53 · 480 阅读 · 0 评论 -
2. 判断两个数组是否包含相同元素
【问题描述】编写一个函数 same_set(a,b,len),该函数检查相等长度的两个数组是否包含相同的元素,若包含相同的元素,则返回1,否则返回0,其中参数len是数组a与与数组b的元素个数。不考虑元素的顺序,如果元素重复,重复次数也相同。在main函数中读入两个整数数组,测试该函数。【输入形式】从键盘输入两个数组,第一行输入数组元素个数,第二行输入第一个数组的各个值,第三行输入第二个数组的各个值。【输出形式】如果两个数组包含的元素相同,打印1,否则,打印0。【样例输入】711#1原创 2021-11-10 21:23:00 · 4465 阅读 · 0 评论 -
sort()和sorted()函数
我们需要对List进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序方法2.用内建函数sorted进行排序(从python 2.4开始)sort函数定义:sort(cmp=None, key=None, reverse=False)sorted函数定义:sorted(iterable, cmp=None, key=None, reverse=False)参数解析:iterable:是可迭代类型;cmp:用于比较的函数(大于时返回1,原创 2021-11-07 17:59:11 · 190 阅读 · 0 评论 -
xlrd方法excel
获取表及表名import xlrd2path = r'D:\pycharm\实验\表.xlsx'data = xlrd2.open_workbook(path)sheets = data.sheet_names()for sheet_name in sheets: print("表格的名称是:", sheet_name)import xlrd2path = r'D:\pycharm\实验\表.xlsx'data = xlrd2.open_workbook(path)sheets原创 2021-11-07 17:39:23 · 482 阅读 · 0 评论 -
6. 控制结构
【问题描述】编写一个程序,输入一奇数n(2<n<80),表示最长一行的*号个数,要求程序中最多用三条printf语句,打印如下三角形:* *** ************该三角形为对称三角形,其底边上"*"号个数为n。上图为输入15时的输出。【输入形式】从标准输入读取一个奇数,表示要打印的最长行的*号数。【输出形式】向标准输出打印一个三角形,如上图所示。并且在最后一行末也输出一个回车。【样例输入】3【样例输出】【样例说明】输入最长行的*号数,原创 2021-11-04 20:13:14 · 1250 阅读 · 0 评论 -
5. 求cosx计算公式
【问题描述】已知cosx的近似计算公式如下:cosx = 1 - x2/2! + x4/4! - x6/6! + … + (-1)nx2n/(2n)!其中x为弧度,n为大于等于0的整数。编写程序根据用户输入的x和n的值,利用上述近似计算公式计算cosx的近似值,要求输出结果小数点后保留8位。【输入形式】从控制台输入小数x(0<=x<=10)和整数n(0<=n<=1000),两数中间用空格分隔。【输出形式】控制台输出公式结果:小数点后保留8位。【样例输入1】1.047原创 2021-11-04 19:48:03 · 2956 阅读 · 0 评论 -
4. sinx计算公式
【问题描述】已知sinx的近似计算公式如下:sin x = x - x3/3! + x5/5! - x7/7! + … + (-1)n-1x2n-1/(2n-1)!其中x为弧度,n为正整数。编写程序根据用户输入的x和n的值,利用上述近似计算公式计算sinx的近似值,要求输出结果小数点后保留8位。【输入形式】从控制台输入小数x(0<=x<=20)和整数n(1<=n<=5000),两数中间用空格分隔。【输出形式】控制台输出公式结果:小数点后保留8位。【样例输入1】0.5原创 2021-11-04 19:28:01 · 5323 阅读 · 0 评论 -
1. 扩展速记符
【问题描述】下面的描述字符串的方法称为速记符:1.“a-d” : 代表ASCII码在a和b之间的所有字符构成的连续字符串。其中必有a<b。2.“a-b-c” : 代表ASCII码在a和b, 再到c之间的所有字符构成的连续字符串。其中必有a<b<c。例如:“a-c"代表字符串"abc”,“a-z"代表字符串"abcdefghhijklmnopqrstuvwxyz”,“a-c-g"代表字符串"abcdefg”,等等。在字符串开始和结尾处的’-'不做处理。 编写函数expand(s1,原创 2021-11-03 21:11:11 · 715 阅读 · 0 评论 -
2. 将文件中每一行字符反序
【问题描述】对于一个文本文件text1.dat,编写一个程序,将该文件中的每一行字符颠倒顺序后输出到另一个文件text2.dat中。【输入文件】输入文件为当前目录下的text1.dat,该文件含有多行任意字符,也可能有空行。每个文本行最长不超过80个字符。在最后一行的结尾也有一个回车符。【输出文件】输出文件为当前目录下的text2.dat。【样例输入】设输入文件text1.dat为:This is a test!Hello, world!How are you?【样例输出】输出文件t原创 2021-11-03 21:10:17 · 3157 阅读 · 2 评论 -
3. 时钟指针
问题描述】普通时钟都有时针和分针,在任意时刻时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出该时刻时针和分针的夹角A(0≤A≤180)。注意:当分针处于0分和59分之间时,时针相对于该小时的起始位置也有一个偏移角度。【输入形式】从标准输入读取一行,是一个24小时制的时间。格式是以冒号(":")分隔的两个整数m(0≤m≤23)和n(0≤n≤59),其中m是小时,n是分钟。【输出形式】向标准输出打印结果。输出一个浮点数A,是时针和分针夹角的角度值。该浮点数保留3位小原创 2021-11-03 21:09:23 · 941 阅读 · 0 评论 -
1. 穷举法判断素数
【问题描述】如何判断一个数是否为素数?当输入数据小于等于2的时候,可以直接给出答案,当输入大于2的时候,其实可以用穷举法试出来的哦。依次用n除以2、3、4……直到n的一半(可直接取整),判断是否可以整除。如果期间的任意一个数可以整除n,则说明n不是素数,如果都不能整除,则n是素数。【输入形式】每次输入一个自然数n,0≤n≤1000【输出形式】一行,如果n是素数,则输出“Y”,否则输出“N”(注意不包含引号)【样例输入】13【样例输出】Y【样例说明】13是素数,输出Y【评分标准】全部通过得满分n原创 2021-10-15 19:32:16 · 989 阅读 · 0 评论