零基础学习Python开发练习100题实例(7)

2018-03-06 10:48:50 750浏览

61、题目:打印出杨辉三角形。

程序分析:无。

程序源代码:

实例

#!/usr/bin/python#-*-coding:UTF-8-*-if__name__=='__main__':a=[]foriinrange(10):a.append([])forjinrange(10):a[i].append(0)foriinrange(10):a[i][0]=1a[i][i]=1foriinrange(2,10):forjinrange(1,i):a[i][j]=a[i-1][j-1]+a[i-1][j]fromsysimportstdoutforiinrange(10):forjinrange(i+1):stdout.write(str(a[i][j]))stdout.write('')print

以上实例输出结果为:

1

11

121

1331

14641

15101051

1615201561

172135352171

18285670562881

193684126126843691

62、题目:查找字符串。

程序分析:无。

程序源代码:

#!/usr/bin/python

#-*-coding:UTF-8-*-

sStr1='abcdefg'

sStr2='cde'

printsStr1.find(sStr2)

以上实例输出结果为:

2

63、题目:画椭圆。

程序分析:使用Tkinter。

程序源代码:

实例

#!/usr/bin/python

#-*-coding:UTF-8-*-

if__name__=='__main__':

fromTkinterimport*

x=360

y=160

top=y-30

bottom=y-30

canvas=Canvas(width=400,height=600,bg='white')

foriinrange(20):

canvas.create_oval(250-top,250-bottom,250+top,250+bottom)

top-=5

bottom+=5

canvas.pack()

mainloop()

64、题目:利用ellipse和rectangle画图。。

程序分析:无。

程序源代码:

#!/usr/bin/python

#-*-coding:UTF-8-*-

if__name__=='__main__':

fromTkinterimport*

canvas=Canvas(width=400,height=600,bg='white')

left=20

right=50

top=50

num=15

foriinrange(num):

canvas.create_oval(250-right,250-left,250+right,250+left)

canvas.create_oval(250-20,250-top,250+20,250+top)

canvas.create_rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2))

right+=5

left+=5

top+=10

canvas.pack()

mainloop()

65、题目:一个最优美的图案。

程序分析:无。

程序源代码:

#!/usr/bin/python

#-*-coding:UTF-8-*-

importmath

classPTS:

def__init__(self):

self.x=0

self.y=0

points=[]

defLineToDemo():

fromTkinterimport*

screenx=400

screeny=400

canvas=Canvas(width=screenx,height=screeny,bg='white')

AspectRatio=0.85

MAXPTS=15

h=screeny

w=screenx

xcenter=w/2

ycenter=h/2

radius=(h-30)/(AspectRatio*2)-20

step=360/MAXPTS

angle=0.0

foriinrange(MAXPTS):

rads=angle*math.pi/180.0

p=PTS()

p.x=xcenter+int(math.cos(rads)*radius)

p.y=ycenter-int(math.sin(rads)*radius*AspectRatio)

angle+=step

points.append(p)

canvas.create_oval(xcenter-radius,ycenter-radius,

xcenter+radius,ycenter+radius)

foriinrange(MAXPTS):

forjinrange(i,MAXPTS):

canvas.create_line(points[i].x,points[i].y,points[j].x,points[j].y)

canvas.pack()

mainloop()

if__name__=='__main__':

LineToDemo()

66、题目:输入3个数a,b,c,按大小顺序输出。

程序分析:无。

程序源代码:

实例

#!/usr/bin/python

#-*-coding:UTF-8-*-

if__name__=='__main__':

n1=int(raw_input('n1=:\n'))

n2=int(raw_input('n2=:\n'))

n3=int(raw_input('n3=:\n'))

defswap(p1,p2):

returnp2,p1

ifn1>n2:n1,n2=swap(n1,n2)

ifn1>n3:n1,n3=swap(n1,n3)

ifn2>n3:n2,n3=swap(n2,n3)

printn1,n2,n3

以上实例输出结果为:

n1=:

123

n2=:

456

n3=:

789

123456789

67、题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

程序分析:无。

程序源代码:

实例

#!/usr/bin/python

#-*-coding:UTF-8-*-

definp(numbers):

foriinrange(6):

numbers.append(int(raw_input('输入一个数字:\n')))

p=0

defarr_max(array):

max=0

foriinrange(1,len(array)-1):

p=i

ifarray[p]>array[max]:max=p

k=max

array[0],array[k]=array[k],array[0]

defarr_min(array):

min=0

foriinrange(1,len(array)-1):

p=i

ifarray[p]

l=min

array[5],array[l]=array[l],array[5]

defoutp(numbers):

foriinrange(len(numbers)):

printnumbers[i]

if__name__=='__main__':

array=[]

inp(array)#输入6个数字并放入数组

arr_max(array)#获取最大元素并与第一个元素交换

arr_min(array)#获取最小元素并与最后一个元素交换

print'计算结果:'

outp(array)

以上实例输出结果为:

输入一个数字:

1

输入一个数字:

2

输入一个数字:

3

输入一个数字:

7

输入一个数字:

9

输入一个数字:

8

计算结果:

9

2

3

7

8

1

68、题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

程序分析:无。

程序源代码:

实例

#!/usr/bin/python

#-*-coding:UTF-8-*-

if__name__=='__main__':

n=int(raw_input('整数n为:\n'))

m=int(raw_input('向后移m个位置为:\n'))

defmove(array,n,m):

array_end=array[n-1]

foriinrange(n-1,-1,-1):

array[i]=array[i-1]

array[0]=array_end

m-=1

ifm>0:move(array,n,m)

number=[]

foriinrange(n):

number.append(int(raw_input('输入一个数字:\n')))

print'原始列表:',number

move(number,n,m)

print'移动之后:',number

以上实例输出结果为:

整数n为:

8

向后移m个位置为:

5

输入一个数字:

2

输入一个数字:

8

输入一个数字:

6

输入一个数字:

1

输入一个数字:

78

输入一个数字:

45

输入一个数字:

34

输入一个数字:

2

原始列表:[2,8,6,1,78,45,34,2]

移动之后:[1,78,45,34,2,2,8,6]

69、题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

程序分析:无。

程序源代码:

实例(Python2.0+)

#!/usr/bin/python

#-*-coding:UTF-8-*-

if__name__=='__main__':

nmax=50

n=int(raw_input('请输入总人数:'))

num=[]

foriinrange(n):

num.append(i+1)

i=0

k=0

m=0

whilem

ifnum[i]!=0:k+=1

ifk==3:

num[i]=0

k=0

m+=1

i+=1

ifi==n:i=0

i=0

whilenum[i]==0:i+=1

printnum[i]

执行以上代码,输出结果:

$pythontest.py

请输入总人数:34

10

以上就是本文关于零基础学习Python开发练习100题实例(7)的详细介绍,希望对大家有所帮助最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python开发工程师技术交流群:279521237。


扣丁学堂微信公众号



关注微信公众号获取更多学习资料



查看更多关于"Python开发资讯"的相关文章>>

标签: Python视频教程 Python基础教程 Python爬虫 Python培训 Python开发工程师

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号