浙大pythonMOOC
python练习
石前有座桥
学生
展开
-
2020-12-02
6-5使用函数求余弦函数的近似值(20分)本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加):cos (x) = x^0 / 0! - x^2 / 2! + x^4 / 4! - x^6 / 6! + ?函数接口定义:funcos(eps,x ),其中用户传入的参数为eps和x;函数funcos应返回用给定公式计算出来,保留小数4位。函数接口定义:函数接口:funcos(eps,x ),返回cos(x)的值。裁判.原创 2020-12-02 15:23:45 · 378 阅读 · 0 评论 -
2020-12-02
6-4使用函数输出指定范围内Fibonacci数的个数(20分)本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。 所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。函数接口..原创 2020-12-02 09:13:53 · 432 阅读 · 0 评论 -
2020-12-01
7-8输出全排列(20分)输入整数n(3<=n<=7),编写程序输出1,2,...,n整数的全排列,按字典序输出。输入格式:一行输入正整数n。输出格式:按字典序输出1到n的全排列。每种排列占一行,数字间无空格。输入样例:在这里给出一组输入。例如:3输出样例:在这里给出相应的输出。例如:123132213231312321def fun(s): ans=[] if len(s)==1: ret...原创 2020-12-01 10:46:44 · 565 阅读 · 0 评论 -
2020-11-30
7-7求指定层的元素个数(40分)输入一个嵌套列表,再输入层数,求该层的数字元素个数。输入格式:第一行输入列表 第二行输入层数输出格式:在一行中输出元素个数输入样例:在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]3输出样例:在这里给出相应的输出。例如:2def getsum(x,l,n): ans=0 for i in x: if l==n and isinstance(i,int): ...原创 2020-11-30 10:41:31 · 284 阅读 · 0 评论 -
2020-11-30
7-6列表元素个数的加权和(1)(40分)输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权个数和。第一层每个元素算一个元素,第二层每个元素算2个元素,第三层每个元素算3个元素,第四层每个元素算4个元素,...,以此类推!输入格式:在一行中输入一个列表。输出格式:在一行中输出加权元素个数值。输入样例:在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]def getsum(x,l): ans=0 for i in x: ..原创 2020-11-30 08:55:19 · 100 阅读 · 0 评论 -
2020-11-30
7-5列表数字元素加权和(1)(40分)输入一个嵌套列表,嵌套层次不限,根据层次,求列表元素的加权和。第一层每个元素 的值为:元素值*1,第二层每个元素的值为:元素值*2,第三层每个元素的值为:元素值*3, ...,以此类推!输入格式:在一行中输入列表输出格式:在一行中输出加权和输入样例:在这里给出一组输入。例如:[1,2,[3,4,[5,6],7],8]输出样例:在这里给出相应的输出。例如:72def getsum(x,l): ans...原创 2020-11-30 08:34:02 · 251 阅读 · 0 评论 -
2020-11-30
7-4列表或元组的数字元素求和(20分)求列表中数字和,列表中嵌套层次不限2层输入格式:在一行中输入列表或元组输出格式:在一行中输出数字的和输入样例:在这里给出一组输入。例如:[11,2,[3,7],(68,-1),"123",9]输出样例:在这里给出相应的输出。例如:99def getsum(x): ans=0 for i in x: if isinstance(i,(list,tuple)): ...原创 2020-11-30 08:17:48 · 204 阅读 · 0 评论 -
2020-11-28
7-2一帮一(15分)“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(≤50),即全班学生的人数。此后N行,按照名次从高到低的顺序给出每个学生的性别(0代表女生,1代表男生)和姓名(不超过8个英文字母的非空字符串),其间以1个空格分隔。这里保证本班男女比例是1..原创 2020-11-28 15:45:23 · 123 阅读 · 0 评论 -
2020-11-27
7-21显示菱形图形(40分)显示菱形图形,每行的宽度是11。输入格式:输入显示的行数,行数在1,3,5,7,9,11中取值输出格式:菱形图形,每行的宽度是11输入样例1:在这里给出一组输入。例如:5输出样例1:在这里给出相应的输出。例如: * *** ***** *** * 输入样例2:在这里给出一组输入。例如:11输出样例2:在这里给出相应的输出。例如..原创 2020-11-27 10:34:50 · 579 阅读 · 0 评论 -
2020-11-26
7-16判断三角矩阵(30分)本题要求编写程序,判断一个给定的方阵是否是三角矩阵。三角矩阵包含上三角矩阵和下三角矩阵两种。上三角矩阵指主对角线以下的元素都为0的矩阵;下三角矩阵指主对角线以上的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。输入矩阵是三种情况之一(上三角矩阵、下三角矩阵或都不是)。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。..原创 2020-11-26 11:09:01 · 662 阅读 · 0 评论 -
2020-11-25
7-14特定矩阵元素和(30分)给定一个n×n的方阵,本题要求计算该矩阵主、副对角线上的所有元素之和。主对角线为从矩阵的左上角至右下角的连线,副对角线为从矩阵的右上角至左下角的连线。。输入格式:输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个数,其间以空格分隔。输出格式:在一行中给出该矩阵主、副对角线的所有元素之和,保留两位小数。输入样例1:在这里给出一组输入。例如:42 3 4 15 6 1 17 1 8 11 1 1 1输出样例1:..原创 2020-11-25 21:02:30 · 2426 阅读 · 0 评论 -
2020-11-25
7-13猴子选大王(20分)一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输出样例:7n=tmp=int(input())cnt...原创 2020-11-25 14:53:55 · 213 阅读 · 0 评论 -
2020-11-24
7-12找完数(20分)所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。输入样例:..原创 2020-11-24 16:52:45 · 272 阅读 · 0 评论 -
2020-11-24
7-10水仙花数(20 分)(20分)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。 例如:153=1×1×1+5×5×5+3×3×3。本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤5)输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:在这里给出一组输入。例如:3输出样例:在这里给出相应的输出。例如:153370371407def iswat...原创 2020-11-24 11:04:39 · 289 阅读 · 0 评论 -
2020-11-24
7-9求π的近似值(30分)用公式求π的近似值:π2/6=1+1/22+1/32+1/42+。。。当求和项小于误差时,结束求和。输入格式:在一行输入误差范围输出格式:在一行输出π的近似值(保留6位小数)。输入样例:在这里给出一组输入。例如:0.00000001输出样例:在这里给出相应的输出。例如:3.141497import matherror=float(input())summ=0i=1while 1: ...原创 2020-11-24 10:39:24 · 1039 阅读 · 0 评论 -
2020-11-24
7-8求误差小于输入值的e的近似值(20分)自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当ei+1-ei<error,则表示e的近似值满足误差范围。输入格式:在一行输入误差范围。输出格式:在一行输出e的近似值(保留6位小数)。输入样例1:在这里给出一组输入。例如:0.01输出样例1:在这里给出相应的输出。例如:2.716667输入样例2:在这里给出一组输入。例如:0...原创 2020-11-24 10:27:50 · 1768 阅读 · 0 评论 -
2020-11-22
7-22查验身份证(15分)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。输入格式:..原创 2020-11-22 23:05:14 · 284 阅读 · 0 评论 -
2020-11-22
7-24整数的二进制相加(30分)输入两个整数,大小在[0,63]之间。求它们的二进制和,二进制用8位表示。输入格式:在一行输入一个整数,在另一行输入另一个整数。输出格式:输出它们的二进制和。输入样例:在这里给出一组输入。例如:57输出样例:在这里给出相应的输出。例如:0000010100000111--------00001100a=int(input())b=int(input())a1=int(bin(a)[2:])b1=i...原创 2020-11-22 11:55:14 · 3541 阅读 · 0 评论 -
2020-11-22
7-16输出10个不重复的英文字母(50分)随机输入一个字符串,把最左边的10个不重复的英文字母(不区分大小写)挑选出来。 如没有10个英文字母,显示信息“not found”输入格式:在一行中输入字符串输出格式:在一行中输出最左边的10个不重复的英文字母或显示信息“not found"输入样例1:在这里给出一组输入。例如:poemp134输出样例1:在这里给出相应的输出。例如:not found输入样例2在这里给出一组输入。例如:This ..原创 2020-11-22 10:59:38 · 158 阅读 · 0 评论 -
2020-11-21
7-9求矩阵鞍点的个数(30分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式: 输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式: 鞍点的个数输入样例1:4 1 7 4 1 4 8 3 61 6 1 20 7 8 9输出样例1:1```输入样例2:```in21 74 1输出样例2:0```输入样例3:...原创 2020-11-21 22:40:35 · 326 阅读 · 0 评论 -
2020-11-21
7-13显示指定范围的素数并求和(30分)本题要求显示给定整数M和N区间内素数并对它们求和。输入格式:在一行输入两个正整数M和N(1≤M≤N≤1000)。输出格式:显示指定范围的素数,素数间空一格,每五个换一行。 单独一行输出素数的个数及素数的和。输入样例:在这里给出一组输入。例如:4 30输出样例:在这里给出相应的输出。例如:5 7 11 13 17 19 23 29 amount=8 sum=124def isprime(x): ...原创 2020-11-21 12:12:31 · 1589 阅读 · 0 评论 -
2020-11-21
7-12显示数字出现次数(40分)输入一个十进制正整数,转换成16进制数。再输入一个数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f),统计这个数出现的次数。输入格式:一行输入十进制正整数。 另一行输入要统计的数。输出格式:要统计的数出现的次数。输入样例1:在这里给出一组输入。例如:84117512 8输出样例1:在这里给出相应的输出。例如:3输入样例2:在这里给出一组输入。例如:46883310e输出样例2:在..原创 2020-11-21 10:46:45 · 3593 阅读 · 0 评论 -
2020-11-20
7-11字典合并(40分)字典合并。输入用字符串表示两个字典,输出合并后的字典,字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!输入格式:在第一行中输入第一个字典字符串 在第二行中输入第二个字典字符串输出格式:在一行中输出合并的字典,输出按字典序。"1"的ASCII吗为49,大于1,排序时1在前,"1"在后,其它的也一样。输入样例1:在这里给出一组输入。例如:{1:3,2:5}{1:5,3:7} 输出样例1:在这里给出相应的输出。例如:{1..原创 2020-11-20 12:42:20 · 232 阅读 · 0 评论 -
2020-11-20
7-10两数之和(30分)给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 "no answer"。输出的下标按从小到大排序。用一重循环加字典实现。输入格式:在一行中给出这组数。 在下一行输入目标数输出格式:在一行中输出这两个数的下标,用一个空格分开。输入样例1:在这里给出一组输入。例如:2,7,11,159输出样例1:在这里给出相应的输出。例如:0 1输入样例2:在这里给出一组输入。例..原创 2020-11-20 08:57:49 · 511 阅读 · 0 评论 -
2020-11-18
7-6统计工龄(20分)给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤105),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。输入样例:810 2 0 5 7 2 5 2输出样例:0:12:35:27:110:1n=int(input())l=input..原创 2020-11-18 23:24:06 · 83 阅读 · 0 评论 -
2020-11-18
7-4分析活动投票情况(20分)利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员输入格式:在一行中输入得票的队员的序列号,用逗号隔开。输出格式:一行中输出第二小队没有得票的队员序号。输入样例:在这里给出一组输入。例如:1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9 输出样例:在这里给出相应的输出。例..原创 2020-11-18 22:34:01 · 92 阅读 · 0 评论 -
2020-11-18
7-3四则运算(用字典实现)(30分)四则运算(用字典实现),比较c语言的switch语句。输入格式:在一行中输入一个数字 在一行中输入一个四帜运算符(+,-,*,/) 在一行中输入一个数字输出格式:在一行中输出运算结果(小数保留2位)输入样例1:在这里给出一组输入。例如:7/3输出样例1:在这里给出相应的输出。例如:2.33输入样例2:在这里给出一组输入。例如:10/0输出样例2:在这里给出相应的输出。例如:divid..原创 2020-11-18 21:43:22 · 72 阅读 · 0 评论 -
2020-11-18
7-2图的字典表示(20分)图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:{'O':{'A':2,'B':5,'C':4}}。用eval函数处理输入,eval函数具体用法见第六章内置函数。输入格式:第一行表示输入的行数 下面每行输入表示一个顶点和该顶点相连的边及长度的字符串输出格式:在一行中输出顶点数,边数,边的总长度输入样例:在这里给出一组输入。例如:4{'a':{'b':10,'c':6..原创 2020-11-18 15:13:16 · 280 阅读 · 0 评论 -
2020-11-17
7-15删除字符(30分)输入一个字符串 str,再输入要删除字符 c,大小写不区分,将字符串 str 中出现的所有字符 c 删除。提示:去掉空格。输入格式:在第一行中输入一行字符 在第二行输入待删除的字符输出格式:在一行中输出删除后的字符串输入样例:在这里给出一组输入。例如: Bee E输出样例:在这里给出相应的输出。例如:result: Bstr=input().strip()a=input().strip()str...原创 2020-11-17 13:48:00 · 196 阅读 · 0 评论 -
2020-11-16
7-14删除重复字符(20分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvzs=input()s=set(s)l=list(s)l.sort()for i in l: print(i,end='')...原创 2020-11-16 22:24:34 · 76 阅读 · 0 评论 -
2020-11-16
7-13统计一行文本的单词个数(15分)本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5s=input().split()print(len(s))...原创 2020-11-16 21:49:07 · 73 阅读 · 0 评论 -
2020-11-16
7-12字符串字母大小写转换(15分)本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。输入样例:Hello World! 123#输出样例:hELLO wORLD! 123x=input()[:-1]x=list(x)l=len(x)for i in range(l)..原创 2020-11-16 11:26:51 · 83 阅读 · 0 评论 -
2020-11-16
7-11字符串替换(15分)本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced...原创 2020-11-16 11:02:10 · 154 阅读 · 0 评论 -
2020-11-16
7-10求整数的位数及各位数字之和(15分)对于给定的正整数N,求它的位数及其各位数字之和。输入格式:输入在一行中给出一个不超过109的正整数N。输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。输入样例:321输出样例:3 6x=input()cnt,num=0,0for i in x: cnt=cnt+1 num=num+int(i)print(cnt,num) ...原创 2020-11-16 10:29:42 · 90 阅读 · 0 评论 -
2020-11-16
7-9字符串排序(20分)本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellowx=input().sp...原创 2020-11-16 09:15:00 · 69 阅读 · 0 评论 -
2020-11-15
7-8统计大写辅音字母(15分)英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。输入样例:HELLO World!输出样例:4str=input()num1,num2=0,0for i in str: if 'A'<=i<='Z': num1=n..原创 2020-11-15 23:09:32 · 73 阅读 · 0 评论 -
2020-11-15
7-7字符串逆序(15分)输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleHstr=input()l=len(str)for i in range(l-1,-1,-1): print(str[i],end="")...原创 2020-11-15 22:57:03 · 69 阅读 · 0 评论 -
2020-11-15
7-6求最大值及其下标(20分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10输出样例:10 2l=int(input())x=input().split()x=[int(i) for i in x]index=...原创 2020-11-15 22:53:07 · 82 阅读 · 0 评论 -
2020-11-15
7-5求整数序列中出现次数最多的数(15分)本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4d={}x=input().split()[1:]#...x=[int(i)...原创 2020-11-15 22:46:40 · 66 阅读 · 0 评论 -
2020-11-14
7-4字符转换(15分)本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。输入格式:输入在一行中给出一个不超过80个字符且以回车结束的字符串。输出格式:在一行中输出转换后的整数。题目保证输出不超过长整型范围。输入样例:free82jeep5输出样例:825str=input()ans=""for i in range(len(str)): if "0"<=str[i]<="9": ...原创 2020-11-14 22:41:52 · 92 阅读 · 0 评论