Прикреплённый файл «spiral.py»

Загрузка

   1 #!/usr/bin/env python
   2 # coding: utf
   3 '''
   4 Заполнить двумерный массив по спирали:
   5     1  2  3  4  5
   6     16 17 18 19 6
   7     15 24 25 20 7
   8     14 23 22 21 8
   9     13 12 11 10 9
  10 '''
  11 
  12 W,H=input("Введите ширину и высоту таблицы W,H: ")
  13 
  14 # Таблица
  15 T=[[0]*W for i in xrange(H)]     # не [[]*W]*H
  16 
  17 # Очевидный вариант («паркет»)
  18 # для нечётных чисел требует дозаполнения среднего рряда или столбца
  19 c=1
  20 for l in xrange(0,min(W,H)/2):
  21     for w in xrange(l,W-l-1):
  22         T[l][w]=c
  23         c+=1
  24     for h in xrange(l,H-l-1):
  25         T[h][W-l-1]=c
  26         c+=1
  27     for w in xrange(W-l-1,l,-1):
  28         T[H-l-1][w]=c
  29         c+=1
  30     for h in xrange(H-l-1,l,-1):
  31         T[h][l]=c
  32         c+=1
  33 if c<=W*H:
  34     if W<H:
  35         for h in xrange(W/2,H-W/2):
  36             T[h][W/2]=c
  37             c+=1
  38     else:
  39         for w in xrange(H/2,W-H/2):
  40             T[H/2][w]=c
  41             c+=1
  42 print
  43 for l in T:
  44     for c in l:
  45         print "{0:3}".format(c),
  46     print

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.