3.2.2 Результат работы программы
Рисунок
2 – Результат работы второй программы
3.3.1 Код программы
#coding:
utf-8
board
= [[0
for
i
in
range
(8)]for
j
in
range(8)]
cnt
= 0
def
setQueen(i,
j):
for
x
in
range(8):
board[x][j]
+= 1
board[i][x]
+= 1
if
0
<=
i + j - x < 8:
board[i
+ j - x][x] += 1
if
0
<=
i - j + x < 8:
board[i
- j + x][x] += 1
board[i][j]
= -1
def
removeQueen(i,
j):
for
x
in
range(8):
board[x][j]
-= 1
board[i][x]
-= 1
if
0
<=
i + j - x < 8:
board[i
+ j - x][x] -= 1
if
0
<=
i - j + x < 8:
board[i
- j + x][x] -= 1
board[i][j]
= 0
def
printPosition():
global
cnt
cnt
+= 1
abc
= "abcdefgh"
ans
= []
for
i
in
range(8):
for
j
in
range(8):
if
board[i][j]
== -1:
ans.append(abc[j]
+ str(i+1))
print(",
".join(ans))
def
solve(i):
for
j
in
range(8):
if
board[i][j]
== 0:
setQueen(i,
j)
if
i
== 7:
printPosition()
else:
solve(i
+ 1)
removeQueen(i,
j)
solve(0)
print(cnt,
'решения')
3.3.2 Результат работы программы
Рисунок
3 – Результат работы третьей программы
4 Вывод
В
процессе выполнения данной лабораторной
работы я изучила основы синтаксиса
Python и различные методы сортировки
массивов. А также сравнила время работы
каждого метода сортировки со встроенной.