2/3

"""
Explanation: Objects and Data Structures Assessment Test
Test your knowledge.
 Answer the following questions 
Write a brief description of all the following Object Types and Data Structures we've learned about: 
Numbers:
Strings:
Lists:
Tuples:
Dictionaries:
Numbers
Write an equation that uses multiplication, division, an exponent, addition, and subtraction that is equal to 100.25.
Hint: This is just to test your memory of the basic arithmetic commands, work backwards from 100.25
Explain what the cell below will produce and why. Can you change it so the answer is correct?
End of explanation
"""


s = 'hello'
# Print out 'e' using indexing

# Code here

"""
Explanation: Answer these 3 questions without typing code. Then type code to check your answer.
What is the value of the expression 4 * (6 + 5)

What is the value of the expression 4 * 6 + 5

What is the value of the expression 4 + 6 * 5

What is the type of the result of the expression 3 + 1.5 + 4?
What would you use to find a number’s square root, as well as its square? 
Strings
Given the string 'hello' give an index command that returns 'e'. Use the code below:
End of explanation
"""


s ='hello'

# Reverse the string using indexing

# Code here

"""
Explanation: Reverse the string 'hello' using indexing:
End of explanation
"""


s ='hello'

# Print out the

# Code here

"""
Explanation: Given the string hello, give two methods of producing the letter 'o' using indexing.
End of explanation
"""


l = [1,2,[3,4,'hello']]

"""
Explanation: Lists
Build this list [0,0,0] two separate ways.
Reassign 'hello' in this nested list to say 'goodbye' item in this list:
End of explanation
"""


l = [5,3,4,6,1]

"""
Explanation: Sort the list below:
End of explanation
"""


d = {'simple_key':'hello'}
# Grab 'hello'


d = {'k1':{'k2':'hello'}}
# Grab 'hello'


# Getting a little tricker
d = {'k1':[{'nest_key':['this is deep',['hello']]}]}

#Grab hello


# This will be hard and annoying!
d = {'k1':[1,2,{'k2':['this is tricky',{'tough':[1,2,['hello']]}]}]}

"""
Explanation: Dictionaries
Using keys and indexing, grab the 'hello' from the following dictionaries:
End of explanation
"""


l = [1,2,2,33,4,4,11,22,3,3,2]

"""
Explanation: Can you sort a dictionary? Why or why not?
Tuples
What is the major difference between tuples and lists?
How do you create a tuple?
Sets
What is unique about a set?
Use a set to find the unique values of the list below:
End of explanation
"""


# Answer before running cell
2 > 3

# Answer before running cell
3 <= 2

# Answer before running cell
3 == 2.0

# Answer before running cell
3.0 == 3

# Answer before running cell
4**0.5 != 2

"""
Explanation: Booleans
For the following quiz questions, we will get a preview of comparison operators:
<table class="table table-bordered">
<tr>
<th style="width:10%">Operator</th><th style="width:45%">Description</th><th>Example</th>
</tr>
<tr>
<td>==</td>
<td>If the values of two operands are equal, then the condition becomes true.</td>
<td> (a == b) is not true.</td>
</tr>
<tr>
<td>!=</td>
<td>If values of two operands are not equal, then condition becomes true.</td>
</tr>
<tr>
<td>&lt;&gt;</td>
<td>If values of two operands are not equal, then condition becomes true.</td>
<td> (a &lt;&gt; b) is true. This is similar to != operator.</td>
</tr>
<tr>
<td>&gt;</td>
<td>If the value of left operand is greater than the value of right operand, then condition becomes true.</td>
<td> (a &gt; b) is not true.</td>
</tr>
<tr>
<td>&lt;</td>
<td>If the value of left operand is less than the value of right operand, then condition becomes true.</td>
<td> (a &lt; b) is true.</td>
</tr>
<tr>
<td>&gt;=</td>
<td>If the value of left operand is greater than or equal to the value of right operand, then condition becomes true.</td>
<td> (a &gt;= b) is not true. </td>
</tr>
<tr>
<td>&lt;=</td>
<td>If the value of left operand is less than or equal to the value of right operand, then condition becomes true.</td>
<td> (a &lt;= b) is true. </td>
</tr>
</table>

What will be the resulting Boolean of the following pieces of code (answer fist then check by typing it in!)
End of explanation
"""


# two nested lists
l_one = [1,2,[3,4]]
l_two = [1,2,{'k1':4}]

#True or False?
l_one[2][0] >= l_two[2]['k1']

"""
Explanation: Final Question: What is the boolean output of the cell block below?
End of explanation
"""


