Прикреплённый файл «spiral2.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=[[-1]+[0]*W+[-1] for i in xrange(H)]
  16 T.append([-1]*(W+2))
  17 T.insert(0,[-1]*(W+2))
  18 
  19 # Вариант «обход направо»
  20 Turns=((0,1),(1,0),(0,-1),(-1,0))
  21 x,y,c,go=1,1,1,0
  22 while True:
  23     T[y][x]=c
  24     for i in xrange(go,go+4):
  25         yy,xx=y+Turns[i%4][0],x+Turns[i%4][1]
  26         if not T[yy][xx]:   # чистое место
  27             go=i%4          # новое направление
  28             x,y=xx,yy
  29             break
  30     else:                   # больше идти некуда
  31         break
  32     c+=1
  33 print
  34 for l in T[1:-1]:
  35     for c in l[1:-1]:
  36         print "{0:3}".format(c),
  37     print

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

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

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