Ho una lista formata da due numeri che attraverso il python script devono essere approssimati. Se utilizzo lo script per un singolo elemento, mi restituisce il valore desiderato ma nel momento in cui l’input diventa una lista, non mi approssima più il valore ma mi restuisce i medesimi valori. Come posso risolvere il problema?
Put two “for loop” in your case, or define a function.
Could you paste your code here, so people can edit for you if possible?
# Carica librerie DesignScript e standard Python
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# I valori di immissione per questo nodo verranno memorizzati come elenco nelle variabili IN.
dataEnteringNode = IN
# Posizionare il codice sotto questa riga
x=IN[0]
if 0 <= x < 30:
x="30"
elif 30 <= x < 45:
x="45"
elif 45 <= x < 60:
x="60"
else:
x="60"
# Assegnare l'output dell'utente alla variabile OUT.
OUT = int(x)
1 Like
import sys
import clr
nums = IN[0]
col = []
for i in nums:
if 0 <= i < 30:
col.append(30)
elif 30 <= i < 45:
col.append(45)
elif 45 <= i < 60:
col.append(60)
else:
col.append(60)
OUT = col
something like this?
1 Like
hello
code
same M. Andreas
# Charger les bibliothèques DesignScript et Standard Python
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# variables IN.
x=IN[0]
#Container
y=[]
# code
for i in x:
if 0<=i<15:
i=0
y.append(i)
elif 15<=i<37.5:
i=30
y.append(i)
elif 37.5<=i<52.5:
i=45
y.append(i)
elif 52.5<=i<60:
i=60
y.append(i)
else:
i="Domain out"
y.append(i)
# variable OUT.
OUT = y
edit:
Designscript
code
result=
0<=x && x<15.0?0:
15.0<=x && x<37.5?30:
37.5<=x && x<52.5?45:
52.5<=x && x<60.0?60:
"Domain Out";
cordially
christian.stan
1 Like