计算机二级python基础题库含答案.docx
计算机二级python基础题库含答案基础题题目1键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,减号字符-填充,右对齐,带千位分隔符。如果输入正整数超过20位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出1,234。答案n=eval(input(”请输入正整数:”)s=":->20j.format(n)print(s)题目2随机选择一个手机品牌屏幕输出。答案importrandombrandlist='华为'J苹果'J诺基亚'JOPPO'J小米'random.seed(l)i=random.randint(0j4)name=brandlistiprint(name)题目3从键盘输入4个数字,各数字采用空格分隔,对应为变量xzy,xlzylo计算两点(X,y)和(XLyl)之间的距离,例如:键盘输入:0135屏幕输出500。答案ntxt=input(”请输入4个数字(空格分隔):”)nls=ntxt.split()x0=eval(nls0)y0=eval(nlsl)xl=eval(nls2)yl=eval(nls3)r=PoW(PoW(Xl-x0,2)+pow(yl-y0j2),0.5)print(,:.2f,.format(r)题目4键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为20个字符,等号字符=填充,居中对齐。如果输入字符串超过20位很I全部输出。答案s=input("请输入一个字符串:”)print(',r=20".format(s)题目5键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。例如:键盘输入正整数n为1234,屏幕输出*1234。n=eval(input(”请输入正整数:")print(:*>15".format(n)题目6键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。n=eval(input(”请输入正整数:”)print(',z=14".format(n)题目7键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符仁)填充,右对齐,带千位分隔符。答案n=eval(input(”请输入正整数:”)print(',:=>25,'.format(n)题目8获得用户输入的一个数字,对该数字以30字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号。答案s=input()print(',"30x".format(eval(s)完成如下功能,程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。答案num=input().split(')foriinnum:print(,:>10,.format(i),end=',)题目10接收用户输入的一一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示号,>'号的个数等于行首数字。答案n=input(,请输入一个正整数:,)foriinrange(int(n):print(":>2,.format(i+l|>,*(i+l)a和b是两个列表变量,列表a为3,6,9己给定,键盘输入列表b,计算a中元素与b中对应元素乘积的累加和。例如:键盘输入列表b为口,2,3,累加和为13+26+3*9=42,因此,屏幕输出计算结果为42。a=3,6,9b=eval(input()#例如:1,2,3s=0foriinrange(len(a):s+=ai*biprint(s)题目12键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数及jieba库中己有函数计算字符串s的中文字符个数及中文词语个数。例如键盘输入:我罗斯举办世界杯屏幕输出:中文字符数为8,中文词语数为3答案importjiebas=input("请输入一个字符串“)n=len(s)m=len(jieba.lcut(s)Print("中文字符数为,中文词语数为。,.format(njm)题目13键盘输入一段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。例如键盘输入:吃葡萄不吐葡萄皮屏幕输出:1.6答案importjiebatxt=input("请输入一段中文文本:,)Is=jieba.lcut(t×t)print(',:.If.format(len(txt)len(ls)题目14根据斐波那契数列的定义,F(O)=O,F(I)=I,F(n)=F(n-l)+F(n-2)(11>=2),输出不大于100的序列元素。例如:屏幕输出实例为:0zLL2,3,(略)答案ajb=0j1whilea<=100:Print(a,end='J)a,b=bja+b题目15a和b是两个长度相同的列表变量,列表a为6z9己给定,键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表cz在屏幕上输出。例如:键盘输入列表b为1,2,3,屏幕输出计算结果为4,8,12a=3,6,9b=eval(input()#例如:1,2,3c=foriinrange(3):c.append(ai+bi)print(c)题目16a和b是两个列表变量,列表a为3,6z9已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。例如:键盘输入列表b为口,2,3,因此,屏幕输出计算结果为L3,2,6,3,9答案a=3,6,9b=eval(input()#例如:1,2,3j=lforiinrange(len(a):b.insert(j>>ai)j+=2print(b)题目17获得用户输入的一一个字符串,将字符串逆序输出,同时紧接着输出字符串的个数。答案s=input()print(s-l:-1)print(len(s)题目18获得用户输入的一个数字,其中数字字符(0到9)用对应的中文字符。一二三四五六七八九替换,输出替换后的结果。答案n=input()s="。一二三四五六七八九”forcin"0123456789":n=n.replace(cjsint(c):int(c)+l)print(n)题目19在考生文件夹下有个文件PY102.py,在横线处填写代码,完成如下功能。让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。ns=input("请输入一串数据:”)dnumjdchr=0,0#双变量赋值方式foriinns:ifi.isnumeric():#如果是数字字符dnum+=1elifi.isalpha():dchr+=1else:pass#空语句,为了保持程序结构的完整性,用于占位Print('数字个数:,字母个数:,.format(dnumjdchr)题目20以123为随机数种子,随机生成10个在1(含)到999(含)之间的随机数,每个随机数后跟随一个逗号进行分隔,屏幕输出这10个随机数。答案importrandomrandom.seed(123)foriinrange(10):print(random.randint(lj1000)jend=",")题目21某商店出售某品牌运动鞋,每双定价160,1双不打折,2双(含)到4双(含)打九折,5双(含)到9双(含)打八折,10双(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。示例格式如下输入:1输出:总额为:160n=eval(input("请输入数量:”)ifn>=10:cost=n*160*0.7elifn>=5:cost=n*160*0.8elifn>=2:cost=n*160*0.9else:cost=160cost=int(cost)Print("总额为:“,cost)题目22键盘输入一个9800到9811之间的正整数n,作为unicode编码,把n-1、n和n+1三个unicode编码对应字符按照如下格式要求输出到屏幕:宽度为11个字符,加号字符+填充,居中。例如键盘输入:9802屏幕输出:+?+答案n=eval(input("请输入一个数字:”)print(',:+AllH.format(chr(n-l)+chr(n)+chr(n+l)题目23键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。示例如下输入:我爱妈妈输出:妈妈爱我答案importjiebatxt=input(“请输入一段中文文本:“)ls=jieba.lcut(txt)foriinls:-1:Print(i,end=1,)题目24以O为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。答案importrandomrandom.seed(0)s=0foriinrange(5):n=random.randint(lj97)#产生随机数s=s+n*2print(s)题目25以IOo为随机数种子,随机生成3个在1(含)到9(含)之间的随机数,计算这三个随机数的立方和。importrandomrandom.seed(100)#此处可多行s=0foriinrange(3):n=random.randint(lj9)s=s+n*3#此处可多行print(s)题目26获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出。答案a,b,c=eval(input()Is=foriinrange(c):ls.append(a+b*i)print(ls)题目27获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号。答案a,b,c=eval(input()Is=foriinrange(c):Is.append(str(a*(b*i)print(,.join(ls)题目28程序接收用户输入的一个数字并判断是否为正整数,如果不是正整数,则显示请输入正整数并等待用户重新输入,直至输入正整数为止,并显示输出该正整数。例如输入:请输入一个正整数:357输出:357whileTrue:try:a=eval(input(,请输入一个正整数:,)ifa>0andint(a)=a:print(a)breakelse:Print(“请输入正整数“)except:Print(“请输入正整数”)题目29将程序里定义好的Std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在屏幕上。例如:亲爱的张三,你的考试成绩是:英语90,数字87zPython语言95,总成绩272.特此通知。答案Std=.张三,90,87,95,李四L83,80,87J'王五,,73,57,55modi="亲爱的,你的考试成绩是:英语,数学,Python语言,总成绩特此通知.”forstinstd:ent=0#总成绩初始值foriinrange(3):#循环三科成绩ent+=sti+l#成绩求和print(modi.format(st0jst1jst2jst3jent)题目30社会平均工作时间是每天8小时(不区分工作日和休息日),一位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1小时成就值增加0.01%,计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。输出格式示例如下5年后的成就值是XXXXX年后成就值是100把亲口木scale=0.0001#成就值增量defcalv(basejday):val=base*pow(l+scale)jday*ll)returnvalprint(,5年后的成就值是'.format(int(calv(l,5*365)year=1whileCaIV(1,year*365)<100:year+=1Print('年后成就值是1001.format(year)