Прикреплённый файл «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 из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (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]]
Вам нельзя прикреплять файлы к этой странице.