-1
나는 다른 함수를 매개 변수로 취하고 그 특정 함수의 실행 시간을 계산하는 함수를 만들었습니다. 그러나 내가 그것을 실행할 때, 나는 이것이 작동하지 않는 이유를 이해하는 것처럼 보일 수 없다. 왜 아무도 그 이유를 알고 있습니까?주어진 함수의 실행 시간 계산하기 파이썬
import time
import random
import timeit
import functools
def ListGenerator(rangeStart,rangeEnd,lenth):
sampleList = random.sample(range(rangeStart,rangeEnd),lenth)
return sampleList
def timeit(func):
@functools.wraps(func)
def newfunc(*args):
startTime = time.time()
func(*args)
elapsedTime = time.time() - startTime
print('function [{}] finished in {} ms'.format(
func.__name__, int(elapsedTime * 1000)))
return newfunc
@timeit
def bubbleSort(NumList):
compCount,copyCount= 0,0
for currentRange in range(len(NumList)-1,0,-1):
for i in range(currentRange):
compCount += 1
if NumList[i] > NumList[i+1]:
temp = NumList[i]
NumList[i] = NumList[i+1]
NumList[i+1] = temp
# print("Number of comparisons:",compCount)
NumList = ListGenerator(1,200,10)
print("Before running through soriting algorithm\n",NumList)
print("\nAfter running through soriting algorithm")
bubbleSort(NumList)
print(NumList,"\n")
for i in range (0, 10, ++1):
print("\n>Test run:",i+1)
bubbleSort(NumList)
compCount = ((len(NumList))*((len(NumList))-1))/2
print("Number of comparisons:",compCount)
'timeit'을 모듈과 데코레이터의 이름으로 사용합니다. 그 확인은? –
예 데코레이터의 이름을 변경하고 다시 실행했습니다. 버그가 아직 남아 있습니다 :/@vishes_shell –
'bubbleSort (list (range (10000)))를 실행하십시오. –