Я пытаюсь собрать статистику по гипотезе Коллатца. В настоящее время мой сценарий получает длину последовательности Коллатца для каждого числа, начиная с 2 и заканчивая большим предустановленным числом, и сохраняет эту длину в постоянно растущем массиве. Каждые 100 итераций он собирает несколько статистических данных из всех предыдущих данных и сохраняет их в такой словарь:
result = []
data = {}
for count, v in enumerate(range(2, 10000000), 1):
if count % 100 == 0:
result.append(len(collatz_concise(count))-1)
Max = round(max(result), 2)
Min = round(min(result), 2)
Mean = round(sum(result) / len(result))
Median = round(statistics.median(result))
Range = round(Max - Min, 2)
Trim_Mean = round(stats.trim_mean(result, 0.1), 2)
stat = np.array(result)
Q1 = round(np.percentile(stat, 25), 2)
Q3 = round(np.percentile(stat, 75), 2)
data[count] = [Min, Q1, Median, Mean, Trim_Mean, Q3, Max]
Я хочу, чтобы статистика собиралась каждые 100 раз, но только по предыдущим 100 значениям списка. Я некоторое время оглядывался, но не мог найти подходящего ответа.
Будьте нежны, я довольно новичок в этом, а также в StackOverflow.
if count % 100 ==0:
. Крайне важно знать, что входит в состояние, а что нет. - person r.ook   schedule 07.02.2018