<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 A Crash Course In Python And Manipulation of Data
My objective for this lesson is to make you aware of python and its usefulness in wrangling with data. 
We are going to start slow with data types and expressions. Eventually, by the end of the lesson, we will programmatically genrerate data and then use a sophisticated library to help us manage and visualize it all.
Data Types
Numbers
Step1:  Strings
Step2:  Arrays
Step3:  Variables
variable_name_here = expression_here
Step4:  There are many ways to change the contents of lists besides assigning new values to individual elements
Step5:  Dictionaries
Step6:  Exercise Block #1
Create two python variables that will add up to 100.
Add two python strings together to create a sentence.
Create an array with number values only and assign it to a variable name. Then access the first element of that array.
Create a dictionary and access a few values from it
Boolean Logic
Step7:  Logic Flow
Step8:  Looping
<ASSISTANT_TASK:>
Python Code:
1
2 + 4
2 - 3
100 *  5
4 / 2
4 / 3
4 % 3
type(3)
type(3.5)
Explanation: A Crash Course In Python And Manipulation of Data
My objective for this lesson is to make you aware of python and its usefulness in wrangling with data. 
We are going to start slow with data types and expressions. Eventually, by the end of the lesson, we will programmatically genrerate data and then use a sophisticated library to help us manage and visualize it all.
Data Types
Numbers
End of explanation
"Cats"
'Dogs'
'Hello World'
"I can't wait to program for the rest of my life"
"My name is " + "Andre"
type("Cats")
type("Doge")
Explanation: Strings
End of explanation
[1, 2, 3]
[100, 4, 12, 45]
["Cat", "Dog", "Zebra"]
Explanation: Arrays
End of explanation
x = 4
x
x + 2
my_sweet_ride = "ferrari"
my_sweet_ride
my_name = "Andre"
"My name is " + my_name
type(x)
type(my_sweet_ride)
x = 4
y = 100
z = x * y
z
my_array = [100, 67, 4, 101]
my_array[0]
my_array[1]
my_array[2]
# This will error out because the index is asking for a location that is not in the
# array (out of range).
my_array[4]
# Access an index using a var!
pointless_var = 2
my_array[pointless_var]
my_array[0:3]
string_1 = "We are so lame."
string_1[0]
string_1[0:10]
new_string = string_1[0:10] + "cool."
new_string
Explanation: Variables
variable_name_here = expression_here
End of explanation
odds = [1, 3, 5, 7]
print('odds are:', odds)
odds.append(11)
print('odds after adding a value:', odds)
del(odds[0])
print('odds after removing the first element:', odds)
odds.reverse()
print('odds after reversing:', odds)
odds = [1, 3, 5, 7]
print('odds are:', odds)
odds = odds + [11]
print('odds are:', odds)
Explanation: There are many ways to change the contents of lists besides assigning new values to individual elements:
End of explanation
first_dict = {}
first_dict
first_dict["x"] = "some_var"
first_dict
first_dict[x] = 4
first_dict
second_dict = {"key_value": "value", "second_key_value": "second_value"}
second_dict
second_dict["key_value"]
second_dict["second_key_value"]
Explanation: Dictionaries
End of explanation
True
False
1 == 1
2 == 1
1 < 10
1 <= 10
1 > 10
1 >= 10
"dogs are better than cats" == "dogs are better than cats"
"dogs" == "cats"
"abc" < "def"
"abc" > "def"
"a" < "b"
"a" > "b"
Explanation: Exercise Block #1
Create two python variables that will add up to 100.
Add two python strings together to create a sentence.
Create an array with number values only and assign it to a variable name. Then access the first element of that array.
Create a dictionary and access a few values from it
Boolean Logic
End of explanation
x = 5
if x < 10:
    print("This workshop is okay")
x = 11
if x < 10:
    print("This workshop is okay")
else:
    print("This workshop is lame")
str_1 = "Andre"
if str_1 == "Andre":
    print("Welcome to the danger zone")
my_var = 50
if my_var > 100:
    print("Large value")
    y = 10  # Example of doing different types of expressions and statements
elif my_var > 10:
    print("Medium value")
    y = 5
else:
    print("Small value")
    y = 0
Explanation: Logic Flow
End of explanation
list_of_elements = [1, 2, 3, 4]
# This could take a while to add everything by hand.
# This could take a while to add everything by hand.
for value in range(0, 10):
    print(value)
total_sum = 0
for value in range(0, 10):
    total_sum = total_sum + value
total_sum
list_of_elements = []
for value in range(0, 10):
    list_of_elements.append(value)
list_of_elements
# We can also start looping through all these values
for new_value in list_of_elements:
    print(new_value * 2)
word = 'lead'
for char in word:
    print(char)
Explanation: Looping
End of explanation
<END_TASK>