Advertisement
Guest User

spiral

a guest
Nov 13th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.27 KB | None | 0 0
  1. n=int(input('Введите n:\n'))
  2. matrix=[[0 for x in range(n+2)] for x in range(n+2)]
  3. for x in range(n+2):
  4.     matrix[0][x]=-1
  5.     matrix[n+1][x]=-1
  6.     matrix[x][0]=-1
  7.     matrix[x][n+1]=-1
  8. x=1
  9. y=1
  10. direction='right'
  11. num=1
  12. matrix[1][1]=1
  13. while num<n**2:
  14.     if direction=='right':
  15.         if matrix[x][y+1]==0:            
  16.             num+=1
  17.             matrix[x][y+1]=num
  18.             y=y+1
  19.             continue
  20.         else:
  21.             direction='down'
  22.             continue          
  23.     elif direction=='left':
  24.         if matrix[x][y-1]==0:          
  25.             num+=1
  26.             matrix[x][y-1]=num
  27.             y=y-1
  28.             continue
  29.         else:
  30.             direction='up'
  31.             continue              
  32.     elif direction=='down':
  33.         if matrix[x+1][y]==0:          
  34.             num+=1
  35.             matrix[x+1][y]=num
  36.             x=x+1
  37.             continue
  38.         else:
  39.             direction='left'
  40.             continue
  41.     elif direction=='up':
  42.         if matrix[x-1][y]==0:          
  43.             num+=1
  44.             matrix[x-1][y]=num
  45.             x=x-1
  46.             continue
  47.         else:
  48.             direction='right'
  49.             continue
  50.            
  51. new_str=''
  52. for x in matrix[1:n+1]:
  53.     for y in x[1:n+1]:
  54.         new_str+=(' '+str(y))
  55.     print(new_str)    
  56.     new_str=''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement