from itertools import permutations
import random
import pprint
import timeit
start_time = timeit.default_timer()
count = 0
def gird(board_size):
print ("\n".join('# ' * inrange + 'Q ' + '# ' * (8-inrange-1)\
for inrange in board_size) + "\n\n= = new board \n")
count+=1
coloms = range(8)
for board_size in permutations(coloms):
if 8 == len(set(board_size[inrange]+inrange for inrange in coloms)):
if 8 == len(set(board_size[inrange]-inrange for inrange in coloms)):
gird(board_size)
elapsed = timeit.default_timer() - start_time
print(elapsed)
print(count)
我想看看这段代码运行了多少次。我必须衡量搜索成本(迭代次数,直到达到最小值)和已解决问题的百分比。这是一个8皇后问题
我所能想到的满足您所描述的问题的唯一方法,而不是运行函数N次,是这样的:
示例:
样本运行:
然而,我必须指出,这不是一个很好的方法来“衡量”一个程序或你所写函数的性能。您应该查看hotshot或timeit之类的内容,或者在内部多次运行您的函数并衡量“正确的事情”
相关问题 更多 >
编程相关推荐