资源描述:
《python语言经典入门级案例(含源代码).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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以上实例输出结果为:12312413213
2、4142143213214231234241243312314321324341342412413421423431432案例二:题目:企业发放的奖金根据利润提成。利润(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%提成,从
3、键盘输入当月利润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):ifi>arr[idx]:r+=(i-arr[idx])*rat[idx]print(i-ar
4、r[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=j,i*j=168,i和j至少一个是偶数4、可得:m=(i+j)/2,n=(i-j)/2,i和j要么都是偶数,要么都是奇数
5、。5、从3和4推导可知道,i与j均是大于等于2的偶数。6、由于i*j=168,j>=2,则 1jand(i+j)%2==0and(i-j)%2==0:m=(i+j)/2n=(i-j)/2x=n*n-100print(x)以上实例输出结果为:-99212611581案例四:题目:输入某年某月某日,判断这一天
6、是这一年的第几天?程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-year=int(raw_input('year:'))month=int(raw_input('month:'))day=int(raw_input('day:'))months=(0,31,59,90,120,151,181,212,243,273,304,334)if07、<=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(month>2):sum+=1print'itisthe%dthday.'%sum以上实例输出结果为:year:2015month:6day:7itisthe158thday.案例五:题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上
8、,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。程序源代码:#!/usr/bin/python#-*-coding:UTF-8-*-l=[]foriinrange(3):x=int(raw_in