govno ver2

Redomine Jun 25th, 2019 (edited) 46 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 #ищу углы
  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)
  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
  27. matrix[y][x]=s
  28. for rezult in range(n):
  29.    print(*matrix[(rezult)])
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand