Skip to content
Open
301 changes: 163 additions & 138 deletions Python_Exercises.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,118 +4,139 @@
# Answer the questions or complete the tasks outlined in bold below.


def power(a,b):

def power(a, b):
# ** What is 7 to the power of 4?**

return None

return a ** b


out = power(7, 4)
print(out)


def split_str(s):

# ** Split this string:**
#
# s = "Hi there Sam!"
#
# **into a list. **
#
# s = "Hi there Sam!"
#
# **into a list. **

return s.split()


output = split_str("Hi there Sam!")
print(output)


return None
def format(planet, diameter):
# ** Given the variables:**
#
# planet = "Earth"
# diameter = 12742
#
# ** Use .format() to print the following string: **
#
# The diameter of Earth is 12742 kilometers.

return "The diameter of {} is {} kilometers." .format(planet, diameter)

def format(planet,diameter):

# ** Given the variables:**
#
# planet = "Earth"
# diameter = 12742
#
# ** Use .format() to print the following string: **
#
# The diameter of Earth is 12742 kilometers.

return None
planet = "Earth"
diameter = 12742



def indexing(lst):

# ** Given this nested list, use indexing to grab the word "hello" **
# ** Given this nested list, use indexing to grab the word "hello" **

#lst = [1,2,[3,4],[5,[100,200,['hello']],23,11],1,7]
# lst = [1,2,[3,4],[5,[100,200,['hello']],23,11],1,7]
return lst[3][1][2][0]


lst = [1, 2, [3, 4], [5, [100, 200, ['hello']], 23, 11], 1, 7]

return None


def dictionary(d):

# ** Given this nested dictionary grab the word "hello". Be prepared, this will be annoying/tricky **
# ** Given this nested dictionary grab the word "hello". Be prepared, this will be annoying/tricky **

# d = {'k1':[1,2,3,{'tricky':['oh','man','inception',{'target':[1,2,3,'hello']}]}]}
# d = {'k1':[1,2,3,{'tricky':['oh','man','inception',{'target':[1,2,3,'hello']}]}]}

return d['k1'][3]['tricky'][3]['target'][3]

return None

d = {'k1': [1, 2, 3, {'tricky': ['oh', 'man', 'inception', {'target': [1, 2, 3, 'hello']}]}]}
d['k1'][3]['tricky'][3]['target'][3]

def subjective():

# ** What is the main difference between a tuple and a list? **
# Tuple is _______

return None
def subjective():
# ** What is the main difference between a tuple and a list? **
# Tuple is _______

return "immutable"



def domainGet(email):

# ** Create a function that grabs the email website domain from a string in the form: **
#
# user@domain.com
#
# **So for example, passing "user@domain.com" would return: domain.com**
#
# user@domain.com
#
# **So for example, passing "user@domain.com" would return: domain.com**

return None
return email.split('@')[1]


def findDog(st):

# ** Create a basic function that returns True if the word 'dog' is contained in the input string. Don't worry about edge cases like a punctuation being attached to the word dog, but do account for capitalization. **
# ** Create a basic function that returns True if the word 'dog' is contained in the input string. Don't worry about edge cases like a punctuation being attached to the word dog, but do account for capitalization. **

return None
return 'dog' in st.lower().split()


def countDog(st):

# ** Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. **

return None
# ** Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. **
count = 0
for word in st.lower().split():
if word == 'dog':
count += 1
return count



def lambdafunc(seq):

# ** Use lambda expressions and the filter() function to filter out words from a list that don't start with the letter 's'. For example:**
#
# seq = ['soup','dog','salad','cat','great']
#
# **should be filtered down to:**
#
# ['soup','salad']
#
# seq = ['soup','dog','salad','cat','great']
#
# **should be filtered down to:**
#
# ['soup','salad']

return a


return None
seq = ['soup', 'dog', 'salad', 'cat', 'great']
a= list(filter(lambda word: word[0] == 's', seq))


def caught_speeding(speed, is_birthday):


# **You are driving a little too fast, and a police officer stops you. Write a function
# to return one of 3 possible results: "No ticket", "Small ticket", or "Big Ticket".
# If your speed is 60 or less, the result is "No Ticket". If speed is between 61
# and 80 inclusive, the result is "Small Ticket". If speed is 81 or more, the result is "Big Ticket". Unless it is your birthday (encoded as a boolean value in the parameters of the function) -- on your birthday, your speed can be 5 higher in all
# cases. **
# **You are driving a little too fast, and a police officer stops you. Write a function
# to return one of 3 possible results: "No ticket", "Small ticket", or "Big Ticket".
# If your speed is 60 or less, the result is "No Ticket". If speed is between 61
# and 80 inclusive, the result is "Small Ticket". If speed is 81 or more, the result is "Big Ticket". Unless it is your birthday (encoded as a boolean value in the parameters of the function) -- on your birthday, your speed can be 5 higher in all
# cases. **

return None
if is_birthday:
speeding = speed - 5
else:
speeding = speed

if speeding > 80:
return 'Big Ticket'
elif speeding > 60:
return 'Small Ticket'
else:
return 'No Ticket'


## Numpy Exercises
Expand All @@ -124,114 +145,118 @@ def caught_speeding(speed, is_birthday):


def create_arr_of_fives():

#### Create an array of 10 fives
#### Convert your output into list
#### e.g return list(arr)
#### Create an array of 10 fives
#### Convert your output into list
#### e.g return list(arr)

a = np.random.randint(5, 6, 10)
a

return None

return a.tolist()


def even_num():

### Create an array of all the even integers from 10 to 50
### Convert your output into list
### e.g return list(arr)
### Create an array of all the even integers from 10 to 50
### Convert your output into list
### e.g return list(arr)
a = np.arange(10, 51, 2)
a

return None

return a.tolist()


def create_matrix():

### Create a 3x3 matrix with values ranging from 0 to 8
### Convert your output into list
### e.g return (arr).tolist()
### Create a 3x3 matrix with values ranging from 0 to 8
### Convert your output into list
### e.g return (arr).tolist()
a = np.arange(0,9).reshape(3,3)
a

return None

return a.tolist()


def linear_space():

### Create an array of 20 linearly spaced points between 0 and 1
### Convert your output into list
### e.g return list(arr)
### Create an array of 20 linearly spaced points between 0 and 1
### Convert your output into list
### e.g return list(arr)
arr = np.linspace(0, 1, 20)
arr

return None

return arr.tolist()


def decimal_mat():

### Create an array of size 10*10 consisting of numbers from 0.01 to 1
### Convert your output into list
### e.g return (arr).tolist()
### Create an array of size 10*10 consisting of numbers from 0.01 to 1
### Convert your output into list
### e.g return (arr).tolist()
arr = np.around(np.linspace(0.01, 1., 100), decimals=2).reshape(10, 10).tolist()

return None

return arr


def slices_1():

# This is a given array
arr = np.arange(1,26).reshape(5,5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])
# This is a given array
arr = np.arange(1, 26).reshape(5, 5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[12, 13, 14, 15],
# [17, 18, 19, 20],
# [22, 23, 24, 25]])
# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[12, 13, 14, 15],
# [17, 18, 19, 20],
# [22, 23, 24, 25]])
a = arr[2:, 1:]

return None

return a.tolist()


def slices_2():

# This is a given array
arr = np.arange(1,26).reshape(5,5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])
# This is a given array
arr = np.arange(1, 26).reshape(5, 5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[ 2],
# [ 7],
# [12]])

return None
# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[ 2],
# [ 7],
# [12]])
a = arr[0:3, 1:2]

return a.tolist()


def slices_3():

# This is a given array
arr = np.arange(1,26).reshape(5,5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

return None


# Great job!
# This is a given array
arr = np.arange(1, 26).reshape(5, 5)
# array([[ 1, 2, 3, 4, 5],
# [ 6, 7, 8, 9, 10],
# [11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

# Write a code to slice this given array
### Convert your output into list
### e.g return (arr).tolist()
# array([[16, 17, 18, 19, 20],
# [21, 22, 23, 24, 25]])

a = arr[3:, 0:]

return a.tolist()

# Great job!