Advertisement
Redomine

govno ver2

Jun 25th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. n, s=5, 1 #исходное число
  2. povorot=0 #счетчик поворота
  3. x, y=0, 0 #стартовая позиция
  4. matrix=[[0] * n for pustoy in range(n)] #список nxn
  5. matrix[0][0]=s
  6. nap=1
  7. while s<(n*n):
  8. nap=1 #сброс направления счета
  9. if (x==0 and y==0) or (x==n-1 and y==0) or (x==n-1 and y==n-1) or (x==0 and y==n-1): povorot+=1 #ищу углы
  10.  
  11. matrix[y][x]=s #вставляю s на полученную координату
  12. if povorot%2!=0:#горизонталь направо
  13. if y>(n/2): nap=-1#или налево
  14. if matrix[y][x+1*(nap)]!=0:
  15. povorot+=1
  16. continue
  17. x+=1*(nap)
  18.  
  19. if povorot%2==0: #вертикаль вниз
  20. if x<(n/2): nap=-1 #или вверх
  21. if matrix[y+1*(nap)][x]!=0:
  22. povorot+=1
  23. continue
  24. y+=1*(nap)
  25. s+=1
  26.  
  27. matrix[y][x]=s
  28. for rezult in range(n):
  29. print(*matrix[(rezult)])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement