您好,欢迎访问三七文档
1、【参考代码】x=eval(input(请输入所花钱x:))ifx=3000:y=0.7*xelifx=2000:y=0.8*xelifx=1000:y=0.9*xelse:y=xprint(实际应付金额{:.2f}元.format(y))2、编写计算分段函数的程序:0,3cos50,log5,1sin3552xxxxxxexxxyxx输入x的值,输出函数y的值【参考代码】importmathx=eval(input(请输入x的值:))ifx=5:y=math.sin(x)+math.sqrt(x**2+1)elifx=0:y=math.exp(x)+math.log(x,5)+x**(1/5)else:y=math.cos(x)-x**3+3*xprint(分段函数y的值是:,y)3、编写程序,实现分段函数计算,如下表所示。当x=7,输出y的值【参考代码】x=input('Pleaseinputx:')x=eval(x)ifx0orx=20:print(0)elif0=x5:print(x)elif5=x10:print(3*x-5)elif10=x20:print(0.5*x-2)4、从键盘上任意输入一个自然数,判断数是否素数。如输入11,则显示:11是素数【参考代码】n=eval(input(请输入一个自然数:))tag=Trueforiinrange(2,n):ifn%i==0:tag=Falsebreakm=是素数iftagelse不是素数print(n,m)5、编程求解一元二次方程02cbxax,方程中的cba,,系数从键盘输入(提示:分支嵌套)注解:大部分情况下是根据求根公式来求解,即:判别式:利用一元二次方程根的判别式()可以判断方程的根的情况。一元二次方程的根与根的判别式有如下关系:①当时,方程有两个不相等的实数根;②当时,方程有两个相等的实数根;③当时,方程无实数根,但有2个共轭复根。【参考代码】importmatha=eval(input(A=))b=eval(input(B=))c=eval(input(C=))delta=b**2-4*a*cifa==0:ifb==0:print(方程无意义!!)else:x=-c/bprint(方程有单根:,x)else:ifdelta0:q=math.sqrt(delta)/(2*a)p=-b/(2*a)x1=p+qx2=p-qprint(两个不相等的实根,x1,x2)elifdelta==0:p=-b/(2*a)print(两个相等的实根:,p)else:print(方程无解!)6、编程产生菲波拉契数列20项,例如:01123581321……【参考代码】x0,x1=0,1forninrange(0,20):print(x0,end=)x0,x1=x1,x0+x17、猴子摘桃猴子第一天摘了若干个桃子,当天吃了一半,还不过隐,有多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,见只剩下一个桃子,问第一天共摘了多少个桃子【参考代码】x=1fordinrange(0,9):x=(x+1)*2print(x)8、编程分别计算100以内(含100)奇数与偶数的和。【参考代码】s1,s2=0,0foriinrange(1,101):ifi%2==0:s2=s2+ielse:s1=s1+iprint(奇数的和是:{},偶数的和是:{}.format(s1,s2))9、编程计算前30项的和:s=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+n)【参考代码】t,sum=0,0foriinrange(1,31):t=t+isum=sum+tprint(多项式前30项的和是:,sum)10、一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁10万元钱,直到满一个月(30天);而富翁第一天给陌生人1分钱,第2天给2分钱,第3天给4分钱,…,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?【参考代码】x0=0.01s=0foriinrange(1,31):s=s+100000x1=2*x0x0=x1print(富翁赚的钱{:.2f},陌生人赚的钱{:.2f}.format(s,x0))11、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。【参考代码】x=input('Pleaseinputanintegerof4digitsmeaningtheyear:')x=eval(x)ifx%400==0or(x%4==0andnotx%100==0):print('Yes')else:print('No')12、一小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?【参考代码】s=100h0=100foriinrange(1,10):h1=h0/2s=s+2*h1h0=h1print(小球一共经过了{:.2f}米,第10次的高度{:.2f}米.format(s,h0))13、求阶乘:从键盘输入任意一个正整数,编程计算该数的阶乘如:输入5,阶乘结果120。【参考代码】n=eval(input(请输入一个正整数:))p=1foriinrange(1,n+1):p=p*iprint(n!=,p)14、【参考代码】foriinrange(1,10):forjinrange(1,i+1):print({}*{}={:2d}.format(i,j,i*j),end=)print()15、【参考代码】forainrange(0,21):forbinrange(0,34):forcinrange(0,101):ifa+b+c==100anda*5+b*3+c/3==100:print(a,b,c)16、17、turle库绘制红色线条的六边形,线条大小5像素,每边长度80。【参考代码】importturtleturtle.pensize(5)turtle.pencolor(red)foriinrange(6):turtle.fd(80)turtle.left(60)18、19、编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。假设向程序提供以下输入:without,hello,bag,world则输出为:bag,hello,without,world'''x=input(x=)l=x.split(,)l.sort()print(,.join(l))20、编写一个程序来计算输入中单词的频率。按字母顺序对键进行排序后输出。假设为程序提供了以下输入:NewtoPythonorchoosingbetweenPython2andPython3ReadPython2orPython3然后,输出应该是:2:23:2New:1Python:5Read:1and:1between:1choosing:1or:2to:1'''x=input(x=)l=x.split()d={}foriinl:d[i]=d.get(i,0)+1l2=sorted(d)foriinl2:print({}:{}.format(i,d[i]))21、依次输入三个整数放在一个列表中,请把这三个数由小到大输出。l=[]foriinrange(3):x=int(input(x=))l.append(x)l.sort()foriinl:print(i,end=)22、使用列表生成式方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?l=[(i,j,k)foriinrange(0,100)forjinrange(0,100)forkinrange(0,100)ifi+j+k==100and5*i+3*j+k/3==100]foriinl:print(i)23、使用给定的整数n,编写一个程序生成一个包含(i,i*i)的字典,该字典包含1到n之间的整数(两者都包含)。然后程序应该打印字典。假设向程序提供以下输入:8则输出为:{1:1,2:4,3:9,4:16,5:25,6:36,,7:49,8:64}'''n=eval(input(n=))d={}foriinrange(1,n+1):d[i]=i*iprint(d)24、使用列表生成式随机产生10个两位的正整数,存入列表ls中,输出ls中的这10个随机数,然后对这10个随机数求平均值,并输出统计高于平均值的数有多少个。'''fromrandomimport*ls=[randint(10,99)foriinrange(10)]print(ls)aver=sum(ls)/len(ls)n=0foriinls:ifiaver:n=n+1print(n)25、编写一个程序,输出2000到3200(含2000和3200)之间所有是7的倍数,但不是5的倍数的整数。要求:用列表保存符合条件的整数,输出结果各整数之间用逗号分隔,并输出在一行上。l=[]foriinrange(2000,3201):ifi%7==0andi%5!=0:l.append(str(i))print(,.join(l))26、编写一个程序,接收一系列单个空格分隔的单词作为输入,在删除所有重复的单词并按字母升序排序后打印这些单词。假设向程序提供以下输入:helloworldandpracticemakesperfectandhelloworldagain则输出为:againandhellomakesperfectpracticeworld'''x=input(x=)l=x.split()s=set(l)l2=list(s)l2.sort()foriinl2:print(i,end=)27、编写一个接收句子并计算字母和数字的程序。假设为程序提供了以下输入:Helloworld!123然后,输出应该是:字母10数字3'''d={'字母':0,'数字':0}x=input(x=)foriinx:ifi.isdigit():d['数字']=d['数字']+1elifi.isalpha():d['字母']=d['字母']+1fork,vind.items():print({}{}.format(k,v))28、使用列表生成式来求列表中的每个奇数。该列表由一系列逗号分隔的数字输入。假设为程序提供了以下输入:[1,2,3,4,5,6,7,8,9]然后,输出应该是:[1,3,5,7,9]【参考代码】:l=eval(input(l=))l2=[iforiinlifi%2==1]print(l2)29、编写函数,模拟Python内置函数sorted()。【参考代码】defSorted(v):t=v[::]r=[]whilet:tt=min(t)r.append(tt)t.remove(tt)returnr30、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。【参考代码】defIsPrime(n):foriinrange(2,n):ifn%i==0:return'No'else:return'Yes'
本文标题:python编程题
链接地址:https://www.777doc.com/doc-6693494 .html