python语言经典入门级案例含源代码.docx

上传人:b****6 文档编号:3834038 上传时间:2022-11-25 格式:DOCX 页数:8 大小:17.12KB
下载 相关 举报
python语言经典入门级案例含源代码.docx_第1页
第1页 / 共8页
python语言经典入门级案例含源代码.docx_第2页
第2页 / 共8页
python语言经典入门级案例含源代码.docx_第3页
第3页 / 共8页
python语言经典入门级案例含源代码.docx_第4页
第4页 / 共8页
python语言经典入门级案例含源代码.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

python语言经典入门级案例含源代码.docx

《python语言经典入门级案例含源代码.docx》由会员分享,可在线阅读,更多相关《python语言经典入门级案例含源代码.docx(8页珍藏版)》请在冰豆网上搜索。

python语言经典入门级案例含源代码.docx

python语言经典入门级案例含源代码

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

以上实例输出结果为:

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,求应发放奖金总数?

程序分析:

请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

程序源代码:

#!

/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=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

7、接下来将i的所有数字循环计算即可。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

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时需考虑多加一天:

程序源代码:

#!

/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)

if0

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

以上实例输出结果为:

year:

2015

month:

6

day:

7

itisthe158thday.

案例五:

题目:

输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:

我们想办法把最小的数放到x上,先将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_input('integer:

\n'))

l.append(x)

l.sort()

printl

以上实例输出结果为:

integer:

8

integer:

5

integer:

6

[5,6,8]

案例六:

题目:

输出9*9乘法口诀表。

程序分析:

分行与列考虑,共9行9列,i控制行,j控制列。

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

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+)

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

f1=1

f2=1

foriinrange(1,22):

print'%12ld%12ld'%(f1,f2),

if(i%3)==0:

print''

f1=f1+f2

f2=f1+f2

以上实例输出结果为:

112358

1321345589144

23337761098715972584

4181676510946177112865746368

75025121393196418317811514229832040

1346269217830935245785702887922746514930352

241578173908816963245986102334155165580141267914296

 

案例八:

题目:

判断101-200之间有多少个素数,并输出所有素数。

程序分析:

判断素数的方法:

用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

     

程序源代码:

#!

/usr/bin/python

#-*-coding:

UTF-8-*-

h=0

leap=1

frommathimportsqrt

fromsysimportstdout

forminrange(101,201):

k=int(sqrt(m+1))

foriinrange(2,k+1):

ifm%i==0:

leap=0

breakifleap==1:

print'%-4d'%m

h+=1

ifh%10==0:

print''

leap=1

print'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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1