Python编程题目及答案_第1页
Python编程题目及答案_第2页
Python编程题目及答案_第3页
Python编程题目及答案_第4页
Python编程题目及答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

—1、math返回最小的大于或等于n的整数使用Math库中的函数,返回最小的大于或等于输入数据n的整数输入描述:输入一个数n输出描述:返回最小的大于或等于n的整数frommathimportceiln=eval(input请输入一个数n:〃))print最小的大于或等于n的整数为:〃,ceil(n))测试样例:样例1:输入峙俞出2.22、math度转弧度使用Math库中的函数,根据输入的度数n,求相应的弧度输入描述:输入度数n输出描述:输出相应的弧度frommathimportradiansn=eval(input请输入度数n:〃))print相应的弧度为:〃,radians(n))测试样例样例1:输入峙俞出1803.1415926535897933、math求绝对值使用Math库中的函数,求输入数据n的绝对值输入描述:输入一个数n输出描述:输出n的绝对值eval(input请输入一个数n:〃))print("的绝对值为:",abs(n))测试样例样例1:输入峙俞出-1010.04、math求阶乘使用Math库中的函数,求输入数据n的阶乘输入描述:输入一个正整数n输出描述:输出n的阶乘测试样例frommathimportfactorialn=eval(input请输入一个正整数n:"))print("的阶乘为:",factorial(n))样例1:输入峙俞出3样例2:输入-输出51205、math求三角形斜边长使用Math库中的函数,求以x和y为直角边的斜边长输入描述:输入直接三角形的两个直角边长度,输入格式为:x,y输出描述:输出直角三角形斜边长度frommathimportsqrtx,y=eval(input请输入直角三角形的两个直角边长度:"))z=sqrt(x**2+y**2)print直角三角形斜边长度为:〃,z)测试样例样例1:输入峙俞出3,45.06、math求对数值使用Math库中的函数,返回输入数据n的以2为底的对数值输入描述:输入一个数n输出描述;输出n的以2为底的对数值frommathimportlog2n=eval(input请输入一个正数n:"))print(〃的以2为底的对数值为:",log2(n))测试样例样例1:输入峙俞出2.07、math求圆的面积根据输入的半径n,就圆形的面积输入描述:输入一个数n输出描述:输出圆形的面积frommathimportpin=eval(input请‘输入圆的半径n:〃))print圆形的面积为:",pi*n**2)测试样例样例1:输入峙俞出12.5663706143591728、math求平方根使用Math库中的函数,求输入数据n的平方根输入描述:输入一个正整数n输出描述:输出n的平方根frommathimportsqrtn=eval(input请输入一个正整数n:"))print("的平方根为:",sqrt(n))测试样例样例1:输入峙俞出4.09、math最大公约数给你两个正整数a和b,输出它们的最大公约数。输入描述:输入为一行,两个正整数a和b输出描述:输出a和b的最大公约数frommathimportgcda,b=eval(input请输入两个正整数:"))print("a和b的最大公约数为:",gcd(a,b))测试样例样例1:输入峙俞出4,610、math最小公倍数给你两个正整数a和b,输出它们的最小公倍数。输入描述:输入为两个数a和b输出描述:输出a和b的最小公倍数frommathimportgcda,b=eval(inpu请输入两个正整数:〃))c=a*bd=gcd(a,b)print(""a和b的最小公倍数为:〃,c/d)测试样例样例1:输入峙俞出4,612二、数据类型1、数值和字符串abs给你一个数,可能是整数、浮点数,也可能是复数,请你输出它的绝对值。输入描述:输入为一个数输出描述:输出这个数的绝对值n=eval(input请输入一个数n:"))print这个数的绝对值为:〃,abs(n))测试样例样例1:输入峙俞出-12、数值和字符串divmod给你两个数字,请你计算它们的商和余数输入描述:输入为两个整数a和b输出描述:输出a/b的商和余数,用空格隔开。a,b=eval(inpu请输入两个整数:"))c,d=divmod(a,b)print(〃a/的商和余数分别为:{0}{l}〃.format(c,d))测试样例样例1:输入峙俞出2,4023、数值和字符串chr请将输入的数字表示为ASCII编码的字符输入描述:输入为一个整数n(0<n<256)输出描述:输出这个整数在ASCII编码中对应的字符n=int(inpu请输入一个整数n(0<n<256):"))print这个整数在ASCII编码中对应的字符为:〃,chr(n))测试样例样例1:输入峙俞出654、数值和字符串ord计算两个字符的ASCII数值差输入描述:输入为两个字符,用空格隔开输出描述:输出这两个字符的ASCII数值差,差为非负数str1,str2=inpi输入两个字符:〃).split()print这两个字符的ASCII数值差,差为非负数:〃,abs(ord(strl)-ord(str2)))样例1:输入-输出ab5、 数值和字符串进制转换1请将输入的数字分别表示为二进制、八进制和十六进制输入描述:输入为一个数字输出描述:输出三个字符串,分别表示这个数字的二进制、八进制和十六进制,格式参考测试样例。n=eval(input请输入一个数字n:〃))print(bin(n),oct(n),hex(n))测试样例样例1:输入峙俞出100ObllOOlOO0ol440x646、 数值和字符串进制转换2请将不同进制的数转为十进制表示输入描述输入为一个字符串,表示某进制的数,字符串中包含进制信息输出描述输出这个数的十进制表示n=eval(input请输入一个数n(n为二进制数、八进制或者十六进制数):〃))print输出这个数的十进制表示:“,int(n))测试样例样例1:输入-输出0b1010107、 数值和字符串-eval使用python中的eval函数,执行一个字符串表达式,并返回表达式的值。输入描述:一个表达式输出描述:表达式的计算结果x=input输入一个表达式:")print表达式的计算结果为:",eval(x))测试样例样例1:输入-输出1+28、 可迭代对象-最大值和最小值题目描述得到给定整数序列的最大值和最小值输入描述输入为一个整数序列输出描述输出这个整数序列的最大值和最小值,用空格隔开alist二eval(input("输入一个整数序列:"))print("这个整数序列的最大值和最小值为:",max(alist),min(alist))测试样例样例1:输入-输出[1,2,3]319、可迭代对象-sum请计算一个整数序列的和输入描述:输入为一个整数序列输出描述:输出这个整数序列的和alist二eval(input("输入一个整数序列:"))print("这个整数序列的和为:",sum(alist))测试样例样例1:输入-输出[1,2,3]61、列表和元组-列表复制在许多编程语言中,存在着“浅拷贝”和“深拷贝”两个概念。“浅拷贝”只复制内存地址,也就是对原数据对象的一个引用,当原数据的值改变后,“浅拷贝”的值也会变化。而“深拷贝”则是开辟了新的内存空间来存原数据对象的值。给你一个列表L1,请你深拷贝L1得到L2,并修改L2的第一个元素为0。输入描述一个PythonList形式的整数列表L1,格式参考样例输入。输出描述第一行输出列表L2,为列表L1的深拷贝,并且将第一个元素的值改为0。第二行输出列表L1。importcopyL1=eval(input("输入一个列表"))L2=copy.deepcopy(L1)L2[0]=0print(L2,L1,sep='\n')输出格式请参考样例输出。测试样例样例1:输入-输出[1,2,3][0,2,3][1,2,3]2、列表和元组-试一试列表生成器使用列表生成器生成一个平方数列表输入描述输入为一行两个数字l和r(0<l<r<101)代表数列的区间输出描述输出为一个列表,表示从l到r的每个数的平方l,r=eval(input("输入两个数字(0<l<r<101):"))L=[x**2forxinrange(l,r+1)]print("从{0}到{1}的每个数的平方列表为:{2}".format(l,r,L))测试样例样例1:输入-输出3,5[9,16,25]3、列表和元组-字符串排序有多个用逗号隔开的字符串,请你对这些字符串进行排序并输出输入描述输入为一个字符串,只包含英文字母和逗号输出描述按照字典序输出这些由逗号隔开的字符串,两两之间用一个逗号隔开astr=input("输入一个字符串,只包含英文字母和逗号:")alist=astr.split(',')blist=sorted(alist)print("按照字典序输出字符串:",’,’.join(blist))测试样例样例1:输入-输出python,c,javac,java,python4、列表和元组-列表元素处理对于一个列表L,可以方便地弹出列表中的某个元素或在列表指定位置插入一个新的元素。输入描述输入包含多行,第一行为列表L。第二行为一个元组(i,m)表示要将i位(列表位置从0开始)的元素替换为m,第三行为一个整数n表示要将值为n的元素弹出。输出描述输出为处理后的列表L=eval(input("输入一个列表:"))atuple=eval(input("输入一个元组:"))n=eval(input("输入一个整数n:"))L[atuple[0]]=atuple[1]L.remove(n)print(L)测试样例样例1:输入-输出[1,2,3](1,3)1[3,3]5、列表和元组-排序给一个整数序列排序输入描述:第一行为一个整数n表示数组的长度第二行为n个整数,两两之间用一个空格隔开输出描述:输出一行为从小到大的排序结果,两两间用空格隔开n=int(input("输入一个整数n,表示数组的长度:"))alist二map(eval,input("输入n个整数,用空格隔开:").split())blist=sorted(list(alist))print(''.join(str(i)foriinblist))测试样例样例1:输入-输出33121236、找出字典中值最大的键给你一个字典形式的人口数据,包含多个姓名:年龄键值对,请你输出年龄最大者的姓名输入描述:输入为一个包含多个姓名:年龄键值对的字典输出描述:输出年龄最大者的姓名name_age=eval(input("输入为一个包含多个姓名:年龄键值对的字典:"))t=sorted(name_age.items(),key=lambdax:x[1])print(t[len(t)-1][0])测试样例样例1:输入-输出{'Cong':22,'Ming':54,'Mei':21}Ming7、可迭代对象-range给定$an=al+(n-1)*d$,给你al、n和d,请使用range()生成这个等差数列。输入描述:输入为三个整数,分别为a1、n和do输出描述:输出这个等差数列的前n项,两两间用空格隔开。a1,n,d=map(int,input("输入三个整数,用空格隔开:").split())alist=list(range(al,al+n*d,d))print("这个等差数列的前n项为:",‘’.join(str(i)foriinalist))测试样例样例1:输入-输出13578、 可迭代对象-enumerate对于输入的员工列表,我们默认从第一个员工开始为员工编号,第一个员工的初始编号为10001,输出所有员工的编号和员工姓名。输入描述:为员工姓名的列表,姓名之间用空格隔开输出描述:所有员工id和姓名,中间用空格隔开nameList二input("输入员工姓名:").split()enuName=list(enumerate(nameList,start=10001))foriinenuName:print(i[0],i[1])测试样例样例1:输入-输出tonysunnylouistonysunnylouis9、 可迭代对象-zip我们有两个列表,一个是货仓清单,另一个是货品,一个货仓只可以存放一个物品,排在前面的货品先存入货仓,请输出货仓和商品对应的元组对(商品可能多于货仓,货仓也可能多于商品)。输入描述:第一行是货仓列表,货仓之间用逗号间隔第二行是商品列表,商品之间也是使用逗号间隔输出描述:每一行为一个货仓和商品对应的元组对storelists=input(“输入货仓清单:").split(',')goods=input("输入货品:").split(',')forxinzip(storelists,goods):print(x)测试样例样例1:输入-输出bin1,bin2,bin3com1,com2,com3,com4,com5('bin1','com1')('bin2','com2')('bin3','com3')10、变量和运算符-整数简单四则运算求两个整数的和、差、积、商(整除)并格式化输出输入描述:输入为两个整数x和y输出描述:输出请参照样例输出x,y=map(int,input('输入为两个整数x和y:').split())print(x,'+',y,'=',x+y)print(x,'-',y,'=',x-y)print(x,'*',y,'=',x*y)print(x,'//',y,'=',x//y)测试样例样例1:输入-输出15315+3=1815-3=1215*3=4515//3=511、变量和运算符-求方程的结果求方程$y=2x"2+3x-5$对应的y值,是一个浮点数,输出结果保留一位小数。输入描述:输入为方程的x值输出描述:输出为方程的y值,结果保留一位小数x=eval(input("输入x:"))y=2*x**2+3*x-5print("{:.1f}".format(y))测试样例样例1:输入-输出1.54.0四、1、变量和运算符-求三角形的面积给你一个三角形的三条边,你能计算它的面积吗?输入描述:输入为三条边长,两两之间用空格隔开输出描述:输出三角形的面积,结果保留三位小数,如果三条边构不成三角形,则输出0frommathimportsqrtа, b,c=map(eval,input("输入三角形的三边,两两之间用空格隔开:").split())ifa+b>canda+c>bandb+c>a:p=(a+b+c)/2area=sqrt(p*(p-a)*(p-b)*(p-c))print("三角形的面积为:{:.3f}".format(area))else:print("0")测试样例样例1:输入-输出345б. 0002、条件和循环-闰年判断判断年份是否是闰年输入描述:输入为一个年份输出描述:如果是闰年,则输出True,否则输出Falseyear=int(input('输入一个年份:'))ifyear%4==0andyear%100!=0oryear%400==0:print("True")else:print("Flase")测试样例样例1:输入-输出1996True3、 条件和循环-简单排序输入三个整数,请你将它们从小到大进行排序。输入描述:三个整数x,y,z。输出描述:从小到大输出这三个整数x,y,z=map(int,input('输入三个整数:').split())ifx>y:x,y=y,xifx>z:z=z,xify>z:y, z=z,yprint(x,y,z)测试样例样例1:输入-输出2311234、 函数-lambda函数请你写两个lambda函数,分别用来求出两个整数的最大值和最小值输入描述:输入第一行为整数a,第二行为整数b输出描述:输出第一行为a和b中数值大的那个,第二行输出数值小的那的a=int(input("输入整数a:"))b=int(input("输入整数b:"))a_b_min=lambdaa,b:aifa<belseba_b_max=lambdaa,b:bifa<belseaprint('a,b中数值小的是:’,a_b_min(a,b))print('a,b中数值大的是:’,a_b_max(a,b))测试样例样例1:输入-输出10202010五、1、判断一个数是否为“水仙花数”所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。输出描述输出所有的水仙花数,两两之间用一个空格隔开forxinrange(100,1000):x1=(x//100)%10x2=(x//10)%10x3=(x//1)%10ifx==x1**3+x2**3+x3**3:print(x,end='')2、判断一个数是否为素数输出2—100之间的所有素数,两两之间用一个空格隔开frommathimportsqrtj=2whilej<=200:k=int(sqrt(j))whilei<=k:ifj%i==0:breaki=i+1ifi>k:print(j,end='')j=j+13、可迭代对象-sorted我们现在有学生的高考成绩和年龄信息,请分别按照高考成绩和年龄对学生进行排名输入描述:第一行输入为学生的姓名列表,之间使用逗号隔开第二行为学生的高考成绩(0-750数值),之间也使用逗号隔开第三行为学生的年龄(0-30之间数值),之间也使用逗号隔开输出描述:第一行为学生按照高考成绩排序的列表第二行为学生按照年龄排序的列表names=input("输入学生的姓名,用逗号隔开:").split(',')scores=input("输入高考成绩,用逗号隔开:").split(',')ages=input("输入高考成绩,用逗号隔开:").split(',')name_score_age=[]foriinrange(len(names)):name_score_age.append((names[i],int(scores[i]),int(ages[i])))result1=sorted(name_score_age,key=lambdax:x[1])result2=sorted(name_score_age,key=lambdax:x[2])print(result1)print(result2)测试样例样例1:输入-输出Xiaoming,xiaowang,xiaoqiang579,626,63523,25,24[('xiaoming',579,23),('xiaowang',626,25),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论