Вы запрашиваете ввод у пользователя, и вы рассчитываете время сбора этого ввода.Так что время бессмысленно ... пользователю может потребоваться произвольное количество времени для ввода данных.Зачем вам это время?Вам нужно заставить пользователя ввести 3 цифры менее чем за 1 секунду?
Кроме того, введенные данные никогда не используются.Он добавляется в массив 'a', но только первые три записи в этом массиве, которые были там до добавления входных данных, используются в вычислениях.Таким образом, вы могли бы также взять две строки, которые собирают пользовательский ввод из кода.Если вы сделаете это, вы получите:
import time
start_time = time.time()
a = [[1,2,3],[4,5,6],[7,8,9]]
x = 3
y = 3
total = []
for h in range(1,x+1):
for k in range(1,y+1):
temp = []
for p in range(x):
for d in range(y):
for i in range(p,h):
for j in range(d,k):
temp.append(a[i][j])
if len(temp)==0:
pass
else:
total.append(temp)
temp = []
print(total)
print("--- %s seconds ---" % (time.time() - start_time))
И мой результат от выполнения этого будет:
[[1], [1, 2], [2], [1, 2, 3], [2, 3], [3], [1, 4], [4], [1, 2, 4, 5], [2, 5], [4, 5], [5], [1, 2, 3, 4, 5, 6], [2, 3, 5, 6], [3, 6], [4, 5, 6], [5, 6], [6], [1, 4, 7], [4, 7], [7], [1, 2, 4, 5, 7, 8], [2, 5, 8], [4, 5, 7, 8], [5, 8], [7, 8], [8], [1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 5, 6, 8, 9], [3, 6, 9], [4, 5, 6, 7, 8, 9], [5, 6, 8, 9], [6, 9], [7, 8, 9], [8, 9], [9]]
--- 0.00019288063049316406 seconds ---
так что примерно 1/5 миллисекунды
Может быть, выкомпьютер медленнее моего?Это должно быть более чем в 5000 раз медленнее, чтобы это заняло 1 секунду для запуска.
Если вы хотите получить ввод от пользователя, даже если вы ничего с ним не делаете, тогда выберите время запускапосле того, как пользователь ввел данные.