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。