python语言经典入门级案例含源代码Word下载.docx
《python语言经典入门级案例含源代码Word下载.docx》由会员分享,可在线阅读,更多相关《python语言经典入门级案例含源代码Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
以上实例输出结果为:
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
案例二:
企业发放的奖金根据利润提成。
利润(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,求应发放奖金总数?
请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
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=0
foridxinrange(0,6):
ifi>
arr[idx]:
r+=(i-arr[idx])*rat[idx]
print(i-arr[idx])*rat[idx]
i=arr[idx]printr
120000
1500.0
10000.0
11500.0
案例三:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
假设该数为x。
1、则:
x+100=n2,x+100+168=m2
2、计算等式:
m2
-n2
=(m+n)(m-n)=168
3、设置:
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,则
1<
i<
168/2+1。
7、接下来将i的所有数字循环计算即可。
foriinrange(1,85):
if168%i==0:
j=168/i;
ifi>
jand(i+j)%2==0and(i-j)%2==0:
m=(i+j)/2
n=(i-j)/2
x=n*n-100
print(x)
-99
21
261
1581
案例四:
输入某年某月某日,判断这一天是这一年的第几天?
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:
year=int(raw_input('
year:
\n'
))
month=int(raw_input('
month:
day=int(raw_input('
day:
months=(0,31,59,90,120,151,181,212,243,273,304,334)
if0<
month<
=12:
sum=months[month-1]
else:
print'
dataerror'
sum+=day
leap=0
if(year%400==0)or((year%4==0)and(year%100!
=0)):
leap=1
if(leap==1)and(month>
2):
sum+=1
print'
itisthe%dthday.'
%sum
2015
6
7
itisthe158thday.
案例五:
输入三个整数x,y,z,请把这三个数由小到大输出。
我们想办法把最小的数放到x上,先将x与y进行比较,如果x>
y则将x与y的值进行交换,然后再用x与z进行比较,如果x>
z则将x与z的值进行交换,这样能使x最小。
/usr/bin/python
#-*-coding:
l=[]
foriinrange(3):
x=int(raw_input('
integer:
l.append(x)
l.sort()
printl
8
5
[5,6,8]
案例六:
输出9*9乘法口诀表。
分行与列考虑,共9行9列,i控制行,j控制列。
foriinrange(1,10):
print
forjinrange(1,i+1):
print"
%d*%d=%d"
%(i,j,i*j),
1*1=1
2*1=22*2=4
3*1=33*2=63*3=9
4*1=44*2=84*3=124*4=16
5*1=55*2=105*3=155*4=205*5=25
6*1=66*2=126*3=186*4=246*5=306*6=36
7*1=77*2=147*3=217*4=287*5=357*6=427*7=49
8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64
9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81
案例七:
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....
实例(Python2.0+)
f1=1
f2=1
foriinrange(1,22):
print'
%12ld%12ld'
%(f1,f2),
if(i%3)==0:
'
f1=f1+f2
f2=f1+f2
112358
1321345589144
23337761098715972584
4181676510946177112865746368
75025121393196418317811514229832040
1346269217830935245785702887922746514930352
241578173908816963245986102334155165580141267914296
案例八:
判断101-200之间有多少个素数,并输出所有素数。
判断素数的方法:
用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
h=0
frommathimportsqrt
fromsysimportstdout
forminrange(101,201):
k=int(sqrt(m+1))
foriinrange(2,k+1):
ifm%i==0:
leap=0
breakifleap==1:
%-4d'
%m
h+=1
ifh%10==0:
leap=1
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