这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 零基础学习Python开发练习实例

共1条 1/1 1 跳转至

零基础学习Python开发练习实例

助工
2020-11-13 10:49:39     打赏

  11、题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

  程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-f1=1f2=1foriinrange(1,22):print'%12ld%12ld'%(f1,f2),if(i%3)==0:print''f1=f1+f2f2=f1+f2


  以上实例输出结果为:


  112358


  1321345589144


  23337761098715972584


  4181676510946177112865746368


  75025121393196418317811514229832040


  1346269217830935245785702887922746514930352


  241578173908816963245986102334155165580141267914296


  12、题目:判断101-200之间有多少个素数,并输出所有素数。


  程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-h=0leap=1frommathimportsqrtfromsysimportstdoutforminrange(101,201):k=int(sqrt(m+1))foriinrange(2,k+1):ifm%i==0:leap=0breakifleap==1:print'%-4d'%mh+=1ifh%10==0:print''leap=1print'Thetotalis%d'%h


  以上实例输出结果为:


  101


  103


  107


  109


  113


  127


  131


  137


  139


  149


  151


  157


  163


  167


  173


  179


  181


  191


  193


  197


  199


  Thetotalis21


  零基础学习Python开发练习100题实例(2)


  13、题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。


  程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-forninrange(100,1000):i=n/100j=n/10%10k=n%10ifn==i**3+j**3+k**3:printn


  以上实例输出结果为:


  153


  370


  371


  407


  14、题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。


  程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:


  (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。


  (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。


  (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-defreduceNum(n):print'{}='.format(n),ifnotisinstance(n,int)orn<=0:print'请输入一个正确的数字!'exit(0)elifnin[1]:print'{}'.format(n)whilennotin[1]:#循环保证递归forindexinxrange(2,n+1):ifn%index==0:n/=index#n等于n/indexifn==1:printindexelse:#index一定是素数print'{}*'.format(index),breakreduceNum(90)reduceNum(100)


  以上实例输出结果为:


  90=2*3*3*5


  100=2*2*5*5


  15、题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。


  程序分析:程序分析:(a>b)?a:b这是条件运算符的基本例子。


  程序源代码:


  实例


  #!/usr/bin/python#-*-coding:UTF-8-*-score=int(raw_input('输入分数:'))ifscore>=90:grade='A'elifscore>=60:grade='B'else:grade='C'print'%d属于%s'%(score,grade)


  以上实例输出结果为:


  输入分数:


  89


  89属于B


  16、题目:输出指定格式的日期。


  程序分析:使用datetime模块。


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-importdatetimeif__name__=='__main__':#输出今日日期,格式为dd/mm/yyyy。更多选项可以查看strftime()方法print(datetime.date.today().strftime('%d/%m/%Y'))#创建日期对象miyazakiBirthDate=datetime.date(1941,1,5)print(miyazakiBirthDate.strftime('%d/%m/%Y'))#日期算术运算miyazakiBirthNextDay=miyazakiBirthDate+datetime.timedelta(days=1)print(miyazakiBirthNextDay.strftime('%d/%m/%Y'))#日期替换miyazakiFirstBirthday=miyazakiBirthDate.replace(year=miyazakiBirthDate.year+1)print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))


  以上实例输出结果为:


  25/02/2018


  05/01/1941


  06/01/1941


  05/01/1942


  17、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


  程序分析:利用while语句,条件为输入的字符不为''。


  程序源代码:


  实例


  #!/usr/bin/python#-*-coding:UTF-8-*-importstrings=raw_input('inputastring:')letters=0space=0digit=0others=0forcins:ifc.isalpha():letters+=1elifc.isspace():space+=1elifc.isdigit():digit+=1else:others+=1print'char=%d,space=%d,digit=%d,others=%d'%(letters,space,digit,others)


  以上实例输出结果为:


  inputastring:


  runoob


  char=6,space=0,digit=0,others=0


  18、题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。


  程序分析:关键是计算出每一项的值。


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-Tn=0Sn=[]n=int(raw_input('n='))a=int(raw_input('a='))forcountinrange(n):Tn=Tn+aa=a*10Sn.append(Tn)printTnSn=reduce(lambdax,y:x+y,Sn)print"计算和为:",Sn


  以上实例输出结果为:


  n=4


  a=4


  4


  44


  444


  4444


  计算和为:4936


  19、题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。


  程序源代码:


  实例(Python2.0+)


  #!/usr/bin/python#-*-coding:UTF-8-*-fromsysimportstdoutforjinrange(2,1001):k=[]n=-1s=jforiinrange(1,j):ifj%i==0:n+=1s-=ik.append(i)ifs==0:printjforiinrange(n):stdout.write(str(k[i]))stdout.write('')printk[n]


  以上实例输出结果为:


  6


  123


  28


  124714


  496


  1248163162124248


  20、题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?


  程序分析:无


  程序源代码:


  Python实例


  #!/usr/bin/python#-*-coding:UTF-8-*-tour=[]height=[]hei=100.0#起始高度tim=10#次数foriinrange(1,tim+1):#从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)ifi==1:tour.append(hei)else:tour.append(2*hei)hei/=2height.append(hei)print('总高度:tour={0}'.format(sum(tour)))print('第10次反弹高度:height={0}'.format(height[-1]))


  以上实例输出结果为:


  总高度:tour=299.609375


  第10次反弹高度:height=0.09765625


  以上就是本文关于零基础学习Python开发的练习题实例,希望对大家有所帮助。最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:816572891。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]