Прикреплённый файл «2012-12-21.spiral.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Требуется заполнить массив размера N × N единичками по спирали (начиная с верхнего левого угла по часовой стрелке). Ввести N. Вывести на экран построенную спираль.
5
6 1111111
7 0000001
8 1111101
9 1000101
10 1011101
11 1000001
12 1111111
13 '''
14
15 N = input()
16 D=((1,0), (0,1), (-1,0), (0,-1))
17 # Верний ряд, правая колонка, нижний ряд
18 A=dict( zip(zip(range(N),[0]*N),[1]*N)+\
19 zip(zip([N-1]*N,range(N)),[1]*N)+\
20 zip(zip(range(N-1,-1,-1),[N-1]*N),[1]*N) )
21 Cont, i, (x, y) = True, 3, (0,N-2)
22 while Cont:
23 dx, dy = D[i%4]
24 Cont = False
25 while not A.has_key((x,y)) and not A.has_key((x+2*dx, y+2*dy)):
26 A[x,y] = 1
27 x+=dx
28 y+=dy
29 Cont = True
30 i+=1
31 print i
32 for i in xrange(N):
33 for j in xrange(N):
34 if not A.has_key((i,j)):
35 A[i,j] = 0
36 for i in xrange(N):
37 print "".join((str(A[j,i]) for j in xrange(N)))
38
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-12-29 16:52:50, 1.8 KB) [[attachment:2012-12-21.measure.py]]
- [получить | показать] (2012-12-28 14:37:33, 0.7 KB) [[attachment:2012-12-21.sortball.gen.py]]
- [получить | показать] (2012-12-28 14:37:00, 0.8 KB) [[attachment:2012-12-21.sortball.py]]
- [получить | показать] (2012-12-28 14:37:22, 1.0 KB) [[attachment:2012-12-21.spiral.py]]
- [получить | показать] (2012-12-28 14:37:56, 3.0 KB) [[attachment:gravec.py]]
Вам нельзя прикреплять файлы к этой странице.