Прикреплённый файл «spiral1.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 Turns=((0,1),(1,0),(0,-1),(-1,0))
  19 c,l,go,x,y=1,0,0,0,0
  20 while c<=W*H:
  21     T[y][x]=c
  22     if Turns[go][0] and not(l < y+Turns[go][0] < H-l) or Turns[go][1] and not(l <= x+Turns[go][1] < W-l):
  23         go+=1
  24         if go==len(Turns):
  25             go=0
  26             l+=1
  27     x,y=x+Turns[go][1],y+Turns[go][0]
  28     c+=1
  29 
  30 print
  31 print "\n".join(["".join(["{0:3}".format(c) for c in l]) for l in T])

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

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

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