Прикреплённый файл «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 из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-11-04 21:08:51, 1.1 KB) [[attachment:spiral.py]]
- [получить | показать] (2011-11-04 21:09:09, 0.8 KB) [[attachment:spiral1.py]]
- [получить | показать] (2011-11-04 21:09:04, 0.9 KB) [[attachment:spiral2.py]]
Вам нельзя прикреплять файлы к этой странице.