# -*- coding: UTF-8 -*-
import random
from itertools import combinations
def get_optimal_lenth(data_list, path_length, max_length):
result = []
for idx in range(len(data_list) - 1):
if idx != 0:
current = data_list[0]
result.append(current)
while idx < len(data_list):
current = data_list[idx]
result.append(current)
tolerance = path_length % max_length
for i, value in enumerate(data_list):
distance = float(value - current)
if tolerance < distance <= max_length:
tolerance = distance
idx = count
return result
########################################################################################################################
division = 10 # На сколько частей делится линия
max_length = 9000 # Максимальная длина элемента
path_length = 30000 # Общая длина линии расположения
########################################################################################################################
data_list = []
data_list.append(0.00)
for count in range(division):
parameter = round(random.uniform(0.0, 1.0), 5)
length = round(parameter * path_length)
x = round(length)
length = round(parameter * path_length)
data_list.append(length)
data_list.append(float(path_length))
data_list = sorted(data_list)
# result = get_optimal_lenth(data_list, path_length, max_length)
print data_list