# Help me understand function error

def odd ():
for i in odd:
if i % 2 == 1:
print (i)
Here I am trying to take an input of numbers from user and then print if that is an Odd number, but getting errors, can someone please help me to understand what I am doing wrong here, first thing I am getting name ‘odd’ is not defined.

When you do `def odd()` it creates or defines a function with the name odd.

Now in that function,
When you do `for i in odd:` it starts a loop for variable odd which you haven’t defined or initialized.

For your code odd is probably a list of numbers, so you can define it like:

``````def odd():
odd = [2,4,5,6,7,13,45,66,78,79,89,98]    # Random list of numbers assigned to variable odd

for i in odd:  # Command to loop through the list odd one by one starting from index 

if i%2==1:   # Condition to check if the number in the list odd is odd
print(i)

``````

To call or activate the function you would have to do `odd()`.

This will print the numbers the odd numbers in the list `odd`.

But to implement the func() on list from user you would have to define it as a parameter for the function.

``````def odd(odd):  # odd {inside the()} is a parameter/argument required for the func.
for i in odd:
if i%2==1:
print(i)
``````

now you can pass the user-generated list as an argument for the function odd.

user_list = [2,4,5,6,7,13,45,66,78,79,89,98]
odd(user_list)

This will also print out the odd statements.