Я уверен, что есть способ сделать это с помощью существующих компонентов Grasshopper, но я чувствовал, как с пойти на это просто видеть.
Этот бит генерирует некоторые данные, соответствующие вашим:
import random
f = open('listCls.txt','w')
for i in range(100):
a = random.uniform(0, 10)
b = random.uniform(0, 10)
c = random.uniform(0, 10)
f.write('({}, {}, {})\n\n'.format(a,b,c))
f.close()
Тогда этот бит читает:
f = open('listCls.txt','r')
list =[]
for line in f:
if line[0]=="(":
tup = eval(line)
list.append(tup)
print list
Я уверен, что кто-то скажет, что с помощью Eval это зло, но если вы 've сгенерировал данные, и вы не поскользнулись в вызове startGlobalWar()
где-то посередине, то это в значительной степени то, что было сделано для eval.
Если вы не доверяете источнику данных (и если вы этого не сделали, то вам, вероятно, не стоит), то создайте струйный дискомбулятор, как предложил MightyPork.
Я отказался от части об округлении. Округление - для людей. Если данные имеют десятичные знаки, наденьте их, пока вам не понадобится. В противном случае вы просто получите кумулятивную несоответствие, которая, если вам нужно принять это в реальный мир, - это различие между тем, что он собирается вместе в первый раз, и нужно не спать всю ночь, чтобы сделать их пригодными.
Эти цифры не совпадают. Последние два кортежа выглядят так, как будто они перегруппированы, но немного отличаются. Определенно, не то же самое, что и ваш выход. Что происходит – jamylak
@jamylak. Да, я исправил это. Я был ошибкой копирования. спасибо за указание на это. – zee
Я до сих пор не понимаю, как вы добрались до '9.28' – jamylak