(完整版)Python100个小例子

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、Python练习实例1题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,5):forjinrange(1,5):forkinrange(1,5):if(i!=k)and(i!=j)and(j!=k):print(i,j,k)二、Python练习实例2题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-i=int(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]print(r)三、Python练习实例3题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为x。1、则:x+100=n2,x+100+168=m22、计算等式:m2-n2=(m+n)(m-n)=16823、设置:m+n=i,m-n=j,i*j=168,i和j至少一个是偶数4、可得:m=(i+j)/2,n=(i-j)/2,i和j要么都是偶数,要么都是奇数。5、从3和4推导可知道,i与j均是大于等于2的偶数。6、由于i*j=168,j=2,则1i168/2+1。7、接下来将i的所有数字循环计算即可。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,85):if168%i==0:j=168/i;ifijand(i+j)%2==0and(i-j)%2==0:m=(i+j)/2n=(i-j)/2x=n*n-100print(x)四、Python练习实例4题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-year=int(input('year:\n'))month=int(input('month:\n'))day=int(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)五、Python练习实例5题目:输入三个整数x,y,z,请把这三个数由小到大输出。3程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-l=[]foriinrange(3):x=int(input('integer:\n'))l.append(x)l.sort()print(l)六、Python练习实例6题目:斐波那契数列。程序分析:斐波那契数列(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个斐波那契数列print(fib(10))#使用递归deffib(n):ifn==1orn==2:return1returnfib(n-1)+fib(n-2)#输出了第10个斐波那契数列print(fib(10))deffib(n):ifn==1:return[1]ifn==2:return[1,1]fibs=[1,1]4foriinrange(2,n):fibs.append(fibs[-1]+fibs[-2])returnfibs#输出前10个斐波那契数列print(fib(10))七、Python练习实例7题目:将一个列表的数据复制到另一个列表中。程序分析:使用列表[:]。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-a=[1,2,3]b=a[:]print(b)八、Python练习实例8题目:输出9*9乘法口诀表。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。程序源代码:foriinrange(1,10):forjinrange(1,i+1):print(%d*%d=%d%(i,j,i*j),end=)print()九、Python练习实例9题目:暂停一秒输出。程序分析:使用time模块的sleep()函数。#!/usr/bin/python#-*-coding:UTF-8-*-importtimemyD={1:'a',2:'b'}forkey,valueindict.items(myD):print(key,value)time.sleep(1)#暂停1秒十、Python练习实例10题目:暂停一秒输出,并格式化当前时间。程序分析:无。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-importtimeprint(time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))#暂停一秒time.sleep(1)print(time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))5十一、Python练习实例11Python100例Python100例题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....程序源代码:#!/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十二、Python练习实例12题目:判断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'%m)h+=1ifh%10==0:print('')leap=1print('Thetotalis%d'%h)十三、Python练习实例13题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数6字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。程序源代码:print(100-999之间的水仙花数有:)foriinrange(100,999):j=int(i/1%10)#个位使用int的原因是强转故意让其损失精度,Python中使用此方法获取时必须强转因为Python中默认保留小数k=int(i/10%10)#十位m=int(i/100%10)#百位ifi==(j**3+k**3+m**3):print(i)十四、Python练习实例14题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。程序源代码:while1:n=int(input('请输入一个整数:'))print('%d='%n,end='')whilen1:foriinrange(2,n+1):ifn%i==0:n=int(n/i)ifn==1:print('%d'%i,end='')else:print('%d*'%i,end='')breakprint()十五、Python练习实例15题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。程序分析:程序分析:(ab)?a:b这是条件运算符的基本例子。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-score=int(input('输入分数:\n'))ifscore=90:7grade='A'elifscore=60:grade='B'else:grade='C'print('%d属于%s'%(score,grade))十六、Python练习实例16题目:输出指定格式的日期。程序分析:使用datetime模块。#!/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 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功