gpt4 book ai didi

python - 我如何计算该程序在 Python 中执行了多少次?

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:15 25 4
gpt4 key购买 nike

    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 皇后问题。

最佳答案

how can i count how many time program has been executed in python

唯一我能想到的解决您所描述的问题而不是运行您的函数 N 次的方法是这样的:

示例:

from __future__ import print_function


import atexit
from os import path
from json import dumps, loads


def read_counter():
return loads(open("counter.json", "r").read()) + 1 if path.exists("counter.json") else 0


def write_counter():
with open("counter.json", "w") as f:
f.write(dumps(counter))


counter = read_counter()
atexit.register(write_counter)


def main():
print("I have been run {} times".format(counter))


if __name__ == "__main__":
main()

样本运行:

$ python foo.py
I have been run 1 times
$ python foo.py
I have been run 2 times
$ python foo.py
I have been run 3 times

但是我必须指出,这不是“衡量”程序或您编写的函数性能的好方法。您应该查看类似 hotshot 的内容或 timeit或者在内部多次运行您的函数并测量“正确的事情”。

关于python - 我如何计算该程序在 Python 中执行了多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com