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