这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Python开发练习实例分享

共2条 1/1 1 跳转至

Python开发练习实例分享

助工
2020-11-20 10:50:37     打赏

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


  程序分析:无。


  程序源代码:


  实例


  #!/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


  2、题目:查找字符串。


  程序分析:无。


  程序源代码:


  #!/usr/bin/python


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


  sStr1='abcdefg'


  sStr2='cde'


  printsStr1.find(sStr2)


  以上实例输出结果为:


  2


  3、题目:画椭圆。


  程序分析:使用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()


  4、题目:利用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()


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


  程序分析:无。


  程序源代码:


  #!/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()


  6、题目:输入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


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


  程序分析:无。


  程序源代码:


  实例


  #!/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


  8、题目:有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]


  9、题目:有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技术交流群:816572891。



工程师
2020-11-20 14:01:13     打赏
2楼

学到了


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]