您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > python语言经典入门级案例(含源代码)
1、python经典入门级案例(含源代码)案例一:题目:有四个数字: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):printi,j,k以上实例输出结果为:123124132134142143213214231234241243312314321324341342412413421423431432案例二:题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可。
2、提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。程序源代码:#!/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.0案例三:题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:假设该数为x。1、则:x+100=n2,x+100+168=m22、计算等式:m2-n2=(m+n)(m-n)=1683、设置:m+n=i,m-n。
3、=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)以上实例输出结果为:-99212611581案例四:题目:输入某年某月某日,判断这一天是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-year=int(raw_input('year:\n'))month=int(raw_input('month:\n')。
4、)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.案例五:题目:输入三个整数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。
5、:\n'))l.append(x)l.sort()printl以上实例输出结果为:integer:8integer:5integer:6[5,6,8]案例六:题目:输出9*9乘法口诀表。程序分析:分行与列考虑,共9行9列,i控制行,j控制列。程序源代码:#!/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=81案例七:。
6、题目:古典问题:有一对兔子,从出生后第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以上实例输出结果为:1123581321345589144233377610987159725844181676510946177112865746368750251213931964183178115142298320401346269217830935245785702887922746514930352241578173908816963245986102334155165580141267914296案例八:题目:判断101-200之间有多少个素数,并输出所有素数。程序分析:判断素数的方。
7、法:用一个数分别去除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以上实例输出结果为:101103107109113127131137139149151157163167173179181191193197199Thetotalis21。
本文标题:python语言经典入门级案例(含源代码)
链接地址:https://www.777doc.com/doc-5739000 .html