《python编程题.doc》由会员分享,可在线阅读,更多相关《python编程题.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、【参考代码】x=eval(input(请输入所花钱x:)if x=3000: y=0.7*xelif x=2000: y=0.8*xelif x=1000: y=0.9*xelse: y=xprint(实际应付金额:.2f元.format(y)2、 编写计算分段函数的程序: 输入x的值,输出函数y的值【参考代码】import mathx=eval(input(请输入x的值:)if x=5: y=math.sin(x)+math.sqrt(x*2+1)elif x=0: y=math.exp(x)+math.log(x,5)+x*(1/5)else: y=math.cos(x)-x*3+3*
2、xprint(分段函数y的值是:,y)3、编写程序,实现分段函数计算,如下表所示。当x=7,输出y的值【参考代码】x = input(Please input x:)x = eval(x)if x=20: print(0)elif 0=x5: print(x)elif 5=x10: print(3*x-5)elif 10=x0: q=math.sqrt(delta)/(2*a) p=-b/(2*a) x1=p+q x2=p-q print(两个不相等的实根,x1,x2) elif delta=0: p=-b/(2*a) print(两个相等的实根:,p) else: print(方程无解!)6
3、、编程产生菲波拉契数列20项,例如:0 1 1 2 3 5 8 13 21 【参考代码】x0,x1=0,1for n in range(0,20): print(x0,end= )x0,x1=x1,x0+x17、猴子摘桃猴子第一天摘了若干个桃子,当天吃了一半,还不过隐,有多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,见只剩下一个桃子,问第一天共摘了多少个桃子【参考代码】x=1for d in range(0,9): x=(x+1)*2print(x)8、 编程分别计算100以内(含100)奇数与偶数的和。【参考代码
4、】s1,s2=0,0for i in range(1,101): if i%2=0: s2=s2+i else: 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,0for i in range(1,31): t = t + i sum = sum + tprint(多项式前30项的和是:,sum)10、一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁10万元钱,直到满一个月(30天);而富翁第一天给陌生人1分钱,第2
5、天给2分钱,第3天给4分钱,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?【参考代码】x0=0.01s =0for i in range(1,31): s=s+100000 x1=2 * x0 x0=x1print(富翁赚的钱:.2f,陌生人赚的钱:.2f.format(s,x0)11、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。【参考代码】x = input(Please input an integer of 4 digits meaning
6、 the year:)x = eval(x)if x%400=0 or (x%4=0 and not x%100=0): print(Yes)else: print(No)12、一小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?【参考代码】s=100h0=100for i in range(1,10): h1=h0/2 s=s+2*h1 h0=h1print(小球一共经过了:.2f米,第10次的高度:.2f米.format(s,h0)13、 求阶乘 :从键盘输入任意一个正整数,编程计算该数的阶乘 如:输入5,阶乘结果12
7、0 。【参考代码】n=eval(input(请输入一个正整数:)p=1for i in range(1,n+1): p=p*iprint(n!=,p)14、【参考代码】for i in range(1,10): for j in range(1,i+1): print(*=:2d .format (i,j,i*j),end= ) print()15、【参考代码】for a in range(0,21): for b in range(0,34): for c in range(0,101): if a+b+c=100 and a*5+b*3+c/3=100: print(a,b,c)16、17
8、、turle库绘制红色线条的六边形,线条大小5像素,每边长度80。【参考代码】import turtleturtle.pensize(5)turtle.pencolor(red)for i in range(6): turtle.fd(80)turtle.left(60)18、19、编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。假设向程序提供以下输入:without,hello,bag,world则输出为:bag,hello,without,worldx=input(x=) l=x.split(,) l.sort() print(,.join(l) 2
9、0、编写一个程序来计算输入中单词的频率。 按字母顺序对键进行排序后输出。假设为程序提供了以下输入:New to Python or choosing between Python 2 and Python 3 Read Python 2 or Python 3然后,输出应该是:2:23:2New:1Python:5Read:1and:1between:1choosing:1or:2to:1x=input(x=) l=x.split() d= for i in l: di=d.get(i,0)+1 l2=sorted(d) for i in l2: print(:.format(i,di)21、
10、依次输入三个整数放在一个列表中,请把这三个数由小到大输出。l=for i in range(3): x=int(input(x=) l.append(x)l.sort()for i in l: print(i,end= )22、使用列表生成式方法求解百钱买百鸡问题。假设大鸡5元一只,中鸡3元一只,小鸡1元三只,现有100元钱想买100只鸡,有多少种买法?l=(i,j,k) for i in range(0,100) for j in range(0,100) for k in range(0,100) if i+j+k=100 and 5*i+3*j+k/3=100for i in l:pri
11、nt(i)23、使用给定的整数n,编写一个程序生成一个包含(i, i*i)的字典,该字典包含1到n之间的整数(两者都包含)。然后程序应该打印字典。假设向程序提供以下输入:8则输出为:1:1,2:4,3:9,4:16,5:25,6:36,,7:49,8:64n=eval(input(n=)d=for i in range(1,n+1): di=i*iprint(d)24、使用列表生成式随机产生10个两位的正整数,存入列表ls中,输出ls中的这10个随机数,然后对这10个随机数求平均值,并输出统计高于平均值的数有多少个。from random import *ls=randint(10,99) f
12、or i in range(10)print(ls)aver=sum(ls)/len(ls)n=0for i in ls: if iaver: n=n+1print(n)25、编写一个程序,输出2000到3200(含2000和3200)之间所有是7的倍数,但不是5的倍数的整数。要求:用列表保存符合条件的整数,输出结果各整数之间用逗号分隔,并输出在一行上。l=for i in range(2000,3201): if i%7=0 and i%5!=0: l.append(str(i)print(,.join(l)26、编写一个程序,接收一系列单个空格分隔的单词作为输入,在删除所有重复的单词并按字
13、母升序排序后打印这些单词。假设向程序提供以下输入:hello world and practice makes perfect and hello world again则输出为:again and hello makes perfect practice worldx=input(x=)l=x.split()s=set(l)l2=list(s)l2.sort()for i in l2:print(i,end= )27、编写一个接收句子并计算字母和数字的程序。假设为程序提供了以下输入:Hello world! 123然后,输出应该是:字母10数字3d=字母:0,数字:0x=input(x=)f
14、or i in x: if i.isdigit(): d数字=d数字+1 elif i.isalpha(): d字母=d字母+1for k,v in d.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= i for i in l if i%2=1print(l2)29、编写函数,模拟Python内置函数sorted()。【参考代码】def Sorted(v): t
15、 = v: r = while t: tt = min(t) r.append(tt) t.remove(tt)return r30、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。【参考代码】def IsPrime(n): for i in range(2,n): if n%i=0: return No else: return Yes14 0=% ), )( 码代 回则 串回则数是数判写 ( ( = : )( 码代) 内 拟写 = )( ( 】码参, 是应 , 入输以程入入的号系由 个的求成列使) ) . + 母 ) +数 字 ) 0:字:母字 是出 入入供提设
16、程数和计收接编 , ( ( ( 为 入入以词些这排升按词重删入输词隔空列,个编) .() . 0= ) 0 上一出并逗间整结,的条存:要数的是数 有间 和 0 到0序一编 += = ( ) ()0 )0( 个多的平计输值平随0数机0的 中表存整的个生式生用 (*= )+ )=( ( , ,: ,:为:入供程典字应程)含两的 典典的* 包成序个 整给 0 + * 0= 0, 00 ), ,(法买少鸡0想元只元小一 只 题鸡买求方表用 ( .)= ) 出输由三请中一数个输) ( . +, . ( . : : : :是是 入输供序出后序对顺 。单输计程一 )( ) . =( , 为 , , 入下以序
17、假词列分号后母,为序词号接程个 0( 00. ) ( 码代0 每, 线边线制 , 00= * =+ ) ) ( ) ( 码代 ( =,*, : )+, ) 码代考 =(* ), =):正入请 码代 0果阶输 乘该编整一任输 ) , 的0米 过一( 0 + /0 )( 0 0码代高高反第多共,0 求,再度回反落下落米0球 ( )=0 = 0= 码代年为整 能除 果;则除 份年年其,份整入户后程), 钱人陌 钱翁 0 * 00 ) =0.码代少是钱给陌的人翁显月一,的前的给每富分给, 第人陌第翁)(个到元 富人:规钱意一生图富 :是0项( + ) ( , 码代 +(+()+(+ 的0计), 的,:
18、和 + + 0= )0 ,=码代考和数数) 内 计 * ),( =码码考桃少了天问个下见再早 到一一天了吃天以一又一子的又上,一有隐,半当子若摘摘子猴 +, 0( )0 ,=码码 项 契菲程解无 ,实相两 - 0= 根等个 - += / ( 0 根方 /= !无方 0= 0=* )( ( )( ( )( 码代复轭 % % % / . . / 个 数无根数 0 % . / 的个方,根实的个方系下 别 . / 根根次况情程方)式 % %/ /. . 的根元式即解式根是情解套支示入盘系的方方一求 数是 素 = 0=% ) ):自个 码代素素:,入。否数,自输任 0 0= 0 00 0 . )( ) 请( 码代的数函的 序程数分)( 元 :付应 = *= 00 * 00= *. 00= ):钱入 码码