<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Looping and Conditionals
Looping
In Python the for keyword can be used to iterate over lists.
Step1:  Sometimes you need the index of an element and the element itself while you iterate through a list. This can be achived with the enumerate function.
Step2:  The above is taking advantage of tuple decomposition, because enumerate generates a list of tuples. Let's look at this more explicitly.
Step3:  If you have two or more lists you want to iterate over together you can use the zip function.
Step4:  You can also iterate over tuples
Step5:  and dictionaries in various ways
Step6:  Conditionals
Conditionals are a way of having certain actions occur only on specific conditions.
Step7:  In the above example the second condition is somewhat redundant because if x is not even it is odd. There's a better way of expressing this.
Step8:  You can have more than two conditions.
Step9:  Note how only the first conditional branch that matches gets executed. The else conditions is a catch all condition that would have executed if none of the other branches had been chosen.
Bonus
<ASSISTANT_TASK:>
Python Code:
greek = ["Alpha", "Beta", "Gamma", "Delta"]
for element in greek:
    print(element)
Explanation: Looping and Conditionals
Looping
In Python the for keyword can be used to iterate over lists.
End of explanation
for i, e in enumerate(greek):
    print(e + " is at index: " + str(i))
Explanation: Sometimes you need the index of an element and the element itself while you iterate through a list. This can be achived with the enumerate function.
End of explanation
list_of_tuples = [(1,2,3),(4,5,6), (7,8,9)]
for (a, b, c) in list_of_tuples:
    print(a + b + c)
Explanation: The above is taking advantage of tuple decomposition, because enumerate generates a list of tuples. Let's look at this more explicitly.
End of explanation
for e1, e2 in zip(greek, greek):
    print("Double Greek: " + e1 + e2)
Explanation: If you have two or more lists you want to iterate over together you can use the zip function.
End of explanation
for i in (1,2,3):
    print(i)
Explanation: You can also iterate over tuples
End of explanation
elements = {
    "H": "Hydrogen",
    "He": "Helium",
    "Li": "Lithium",
}
for key in elements: # Over the keys
    print(key)
for key, val in elements.items(): # Over the keys and values 
    print(key + ": " + val)
for val in elements.values():
    print(val)
Explanation: and dictionaries in various ways
End of explanation
x = 5
if x % 2 == 0: # Checks if x is even
    print(str(x) + " is even!!!")
    
if x % 2 == 1: # Checks if x is odd
    print(str(x) + " is odd!!!")
Explanation: Conditionals
Conditionals are a way of having certain actions occur only on specific conditions.
End of explanation
if x % 2 == 0: # Checks if x is even
    print(str(x) + " is even!!!")
else: # x is odd
    print(str(x) + " is odd!!!")
Explanation: In the above example the second condition is somewhat redundant because if x is not even it is odd. There's a better way of expressing this.
End of explanation
if x % 4 == 0:
    print("x divisible by 4")
elif x % 3 == 0 and x % 5:
    print("x divisible by 3 and 5")
elif x % 1 == 0:
    print("x divisible by 1")
else:
    print("I give up")
Explanation: You can have more than two conditions.
End of explanation
r1 = []
for i in range(10):
    r1.append(i**2)
# Equivalent to the loop above.
r2 = [i**2 for i in range(10)]
print(r1)
print(r2)
r1 = []
for i in range(30):
    if (i%2 == 0 and i%3 == 0):
        r1.append(i)
# Equivalent to the loop above.
r2 = [i for i in range(30) if i%2==0 and i%3==0]
print(r1)
print(r2)
Explanation: Note how only the first conditional branch that matches gets executed. The else conditions is a catch all condition that would have executed if none of the other branches had been chosen.
Bonus: Loop Comprehensions
You can use the for keyword to generate new lists with data using list comprehensions.
End of explanation
<END_TASK>