Я пытаюсь оценить производительность трех разных алгоритмов сортировки. Я хочу напечатать результат на моем терминале.
Вот код, который я использую:
### library imports ###
import random
from time import time
from SortingAlgorithms import selection_sort, merge_sort, quicksort
### function definitions ###
def create_array(size, max):
return [random.randint(0, max) for _ in range(0, size)]
### main ###
n = [10, 100, 1000]
times = {'selection':[], 'merge':[], 'quick':[]}
samples = 5
for size in n:
tot_time = 0.0
for _ in range(samples):
myArray = create_array(size, size)
t0 = time()
selection_sort(myArray)
t1 = time()
tot_time += t1 - t0
times['selection'].append(tot_time / float(samples))
for size in n:
tot_time = 0.0
for _ in range(samples):
myArray = create_array(size, size)
t0 = time()
merge_sort(myArray)
t1 = time()
tot_time += t1 - t0
times['merge'].append(tot_time / float(samples))
for size in n:
tot_time = 0.0
for _ in range(samples):
myArray = create_array(size, size)
t0 = time()
myArraySorted = quicksort(myArray)
t1 = time()
tot_time += t1 - t0
times['quick'].append(tot_time / float(samples))
print("\n \t Selectionsort \t Mergesort \t Quicksort")
print(50* "_")
for i,size in enumerate(n):
"{0:6d} \t {1:2.5f} \t {2:2.5f} \t {3:2.5f}".format(
size,
times['selection'][i],
times['merge'][i],
times['quick'][i]
)
Однако на терминале печатается только первая строка (Selectionsort, Mergesort, Quicksort). Спектакль не печатается. Меня всегда так смущал способ форматирования строк в python, поэтому я совершенно уверен, что здесь я ошибаюсь. Тем не менее, кто-нибудь может помочь?