Guest User

Untitled

a guest
Oct 16th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. n=5
  2. w, h = n, n;
  3.  
  4. #unpack
  5. #args = [1,n*n+1]
  6. #print range(*args)
  7. #exit(0)
  8.  
  9.  
  10. mtrx2 = [[0 for x in range(w)] for y in range(h)]
  11.  
  12. def listprn(lis):
  13. for indx in range(0,n):
  14. print lis[indx]
  15.  
  16. k=1
  17. xs,ys = 0,0 # x start, y start
  18. done = False
  19.  
  20. while not done:
  21. xx,yy=0,0
  22. for m in range(xs,n-xs): #fill --->
  23. mtrx2[ys+yy][xs+xx]=k
  24. if k < n*n:
  25. k+=1
  26. else:
  27. done = True
  28. break
  29. xx+=1
  30. if done: break
  31. yy+=1
  32. xx-=1
  33.  
  34. for m in range(xs,n-1-xs): #fill right |
  35. mtrx2[ys+yy][xs+xx]=k
  36. if k < n*n:
  37. k+=1
  38. else:
  39. done = True
  40. break
  41. yy+=1
  42. if done: break
  43. yy-=1
  44. xx-=1
  45.  
  46. for m in range(xs,n-1-xs): #fill <---
  47. mtrx2[ys+yy][xs+xx]=k
  48. if k < n*n:
  49. k+=1
  50. else:
  51. done = True
  52. break
  53. xx-=1
  54. if done: break
  55. xx+=1
  56. yy-=1
  57.  
  58. for m in range(xs,n-2-xs): #fill | left
  59. mtrx2[ys+yy][xs+xx]=k
  60. if k < n*n:
  61. k+=1
  62. else:
  63. done = True
  64. break
  65. yy-=1
  66. if done: break
  67. xs+=1 # shift start x,y
  68. ys+=1
  69.  
  70. listprn(mtrx2)
  71.  
  72. exit(0)
Add Comment
Please, Sign In to add comment