# Python or code block ，use if\_else ,can't done，correct me！

**URL:** <https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313>\
**Category:** DesignScript\
**Tags:** dynamo\
**Created:** [January 9, 2020, 6:29pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313 "2020-01-09T18:29:42Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![caoyecheng](https://avatars.discourse-cdn.com/v4/letter/c/bb73d2/32.png) [@caoyecheng](https://forum.dynamobim.com/u/caoyecheng)\
**Post date:** [January 9, 2020, 6:29pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/1 "2020-01-09T18:29:42Z")

</div>

need for your help thanks！  
Q1:HOW TO correct my python code  
dataEnteringNode = IN  
w = IN[0]  
arr =   
j=0  
#condition  
for i in w:  
if i \< 900:  
arr[j] = ‘C5’   
elif i \>= 900 and i \< 1500:  
arr[j] = ‘C6.3’   
elif i \>= 1500 and i \< 2501:  
arr[j] = ‘C8’   
else:   
arr[j] = ‘C10’  
#Assign your output to the OUT variable.  
OUT = arr

Q2:IS the code block can’t support array list？  
AND why the answer is" 888" not “1” or “2”

Q3：how to add "sc \>250 and sc \<250 "

many thanks!!!

 ![333](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/3/53a05c7d6a0ae905f5e6a4ca9bc96260e18e5f94.png)

---

<div class="post-metadata">

**Author:** ![Nick\_Boyts](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/nick_boyts/32/76313_2.png) [@Nick\_Boyts](https://forum.dynamobim.com/u/Nick_Boyts)\
**Post date:** [January 9, 2020, 7:08pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/2 "2020-01-09T19:08:30Z")

</div>

Right now you have `arr` as an empty list then your code tries to apply a value at `arr[0]` which doesn’t exist. I think you’re actually wanting to `append` the value to your empty list.

```
 arr.append('C5')
```

---

<div class="post-metadata">

**Author:** ![solamour](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/solamour/32/153516_2.png) [@solamour](https://forum.dynamobim.com/u/solamour)\
**Post date:** [January 9, 2020, 7:13pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/3 "2020-01-09T19:13:56Z")

</div>

Hello @caoyecheng,

Is this what you are looking for?

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/c/3/c30f938f18589bb6f75c1b6ba3fec44061df9d23.png)

```
numbers = IN[0]

results = []

for number in numbers:
    if number < 900:
        results.append("C5")
    elif number >= 900 and number < 1500:
        results.append("C6.3")
    elif number >= 1500 and number < 2501:
        results.append("C8")
    else:
        results.append("C10")

OUT = results
```

---

<div class="post-metadata">

**Author:** ![caoyecheng](https://avatars.discourse-cdn.com/v4/letter/c/bb73d2/32.png) [@caoyecheng](https://forum.dynamobim.com/u/caoyecheng)\
**Post date:** [January 10, 2020, 3:17am UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/4 "2020-01-10T03:17:58Z")

</div>

thanks！it works

---

<div class="post-metadata">

**Author:** ![caoyecheng](https://avatars.discourse-cdn.com/v4/letter/c/bb73d2/32.png) [@caoyecheng](https://forum.dynamobim.com/u/caoyecheng)\
**Post date:** [January 10, 2020, 3:22am UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/5 "2020-01-10T03:22:36Z")

</div>

thanks for your help

and about Q3 – The code block，i use" &&" insted of “and” : sc\>250 && sc \<500,  
it can run.but still only for one number,do no support array/ list

---

<div class="post-metadata">

**Author:** ![Nick\_Boyts](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/nick_boyts/32/76313_2.png) [@Nick\_Boyts](https://forum.dynamobim.com/u/Nick_Boyts)\
**Post date:** [January 10, 2020, 2:33pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/6 "2020-01-10T14:33:55Z")

</div>

There’s no need for an imperative function. A simple If statement will do.  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/b/1b7d008192f8acb8364205c54a12633a698c1429.png)  
`[condition] ? [result if true] : [result if false]`

---

<div class="post-metadata">

**Author:** ![caoyecheng](https://avatars.discourse-cdn.com/v4/letter/c/bb73d2/32.png) [@caoyecheng](https://forum.dynamobim.com/u/caoyecheng)\
**Post date:** [January 10, 2020, 3:50pm UTC](https://forum.dynamobim.com/t/python-or-code-block-use-if-else-cant-done-correct-me/45313/7 "2020-01-10T15:50:29Z")

</div>

it is a better way. thanks！！！
