Python练习实例1题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。程序源代码:实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,5):forjinrange(1,5):forkinrange(1,5):if(i!=k)and(i!=j)and(j!=k):printi,j,k以上实例输出结果为:123124132134142143213214231234241243312314321324341342412413421423431432Python练习实例2Python100例题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。程序源代码:实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-i=int(raw_input('净利润:'))arr=[1000000,600000,400000,200000,100000,0]rat=[0.01,0.015,0.03,0.05,0.075,0.1]r=0foridxinrange(0,6):ifiarr[idx]:r+=(i-arr[idx])*rat[idx]print(i-arr[idx])*rat[idx]i=arr[idx]printr以上实例输出结果为:净利润:1200001500.010000.011500.0Python练习实例3Python100例题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:程序源代码:实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-importmathforiinrange(10000):#转化为整型值x=int(math.sqrt(i+100))y=int(math.sqrt(i+268))if(x*x==i+100)and(y*y==i+268):printi以上实例输出结果为:212611581Python练习实例4Python100例题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:程序源代码:实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-year=int(raw_input('year:\n'))month=int(raw_input('month:\n'))day=int(raw_input('day:\n'))months=(0,31,59,90,120,151,181,212,243,273,304,334)if0month=12:sum=months[month-1]else:print'dataerror'sum+=dayleap=0if(year%400==0)or((year%4==0)and(year%100!=0)):leap=1if(leap==1)and(month2):sum+=1print'itisthe%dthday.'%sum以上实例输出结果为:year:2015month:6day:7itisthe158thday.Python练习实例5Python100例题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-l=[]foriinrange(3):x=int(raw_input('integer:\n'))l.append(x)l.sort()printl以上实例输出结果为:integer:8integer:5integer:6[5,6,8]Python练习实例6Python100例题目:斐波那契数列。程序分析:斐波那契数列(Fibonaccisequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。在数学上,费波那契数列是以递归的方法来定义:F0=0(n=0)F1=1(n=1)Fn=F[n-1]+F[n-2](n=2)程序源代码:方法一#!/usr/bin/python#-*-coding:UTF-8-*-deffib(n):a,b=1,1foriinrange(n-1):a,b=b,a+breturna#输出了第10个斐波那契数列printfib(10)方法二#!/usr/bin/python#-*-coding:UTF-8-*-#使用递归deffib(n):ifn==1orn==2:return1returnfib(n-1)+fib(n-2)#输出了第10个斐波那契数列printfib(10)以上实例输出了第10个斐波那契数列,结果为:55方法三如果你需要输出指定个数的斐波那契数列,可以使用以下代码:#!/usr/bin/python#-*-coding:UTF-8-*-deffib(n):ifn==1:return[1]ifn==2:return[1,1]fibs=[1,1]foriinrange(2,n):fibs.append(fibs[-1]+fibs[-2])returnfibs#输出前10个斐波那契数列printfib(10)以上程序运行输出结果为:[1,1,2,3,5,8,13,21,34,55]Python练习实例7Python100例题目:将一个列表的数据复制到另一个列表中。程序分析:使用列表[:]。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-a=[1,2,3]b=a[:]printb以上实例输出结果为:[1,2,3]Python练习实例8Python100例题目:输出9*9乘法口诀表。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。程序源代码:9*9乘法口诀#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,10):printforjinrange(1,i+1):print%d*%d=%d%(i,j,i*j),以上实例输出结果为:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=165*1=55*2=105*3=155*4=205*5=256*1=66*2=126*3=186*4=246*5=306*6=367*1=77*2=147*3=217*4=287*5=357*6=427*7=498*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81Python练习实例9Python100例题目:暂停一秒输出。程序分析:无。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-importtimemyD={1:'a',2:'b'}forkey,valueindict.items(myD):printkey,valuetime.sleep(1)#暂停1秒以上实例输出结果为(会有停顿效果):1a2bPython练习实例10Python100例题目:暂停一秒输出,并格式化当前时间。程序分析:无。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-importtimeprinttime.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))#暂停一秒time.sleep(1)printtime.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))以上实例输出结果为:2015-10-2117:48:402015-10-2117:48:41Python练习实例11Python100例题目:古典问题:有一对兔子,从出生后第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以上实例输出结果为:1123581321345589144233377610987159725844181676510946177112865746368750251213931964183178115142298320401346269217830935245785702887922746514930352241578173908816963245986102334155165580141267914296Python练习实例12Python100例题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。程序源代码:#!/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以上实例输出结果为:101103107109113127131137139149151157163167173179181191193197199Thetotalis21Python练习实例13Python100例题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-forninrange(100,1000):i=n/100j=n/10%10k=n%10ifn==i**3+j**3+k**3:printn以上实例输出结果为:153370371407Python练习实例14Python100例题目:将一