diff --git a/Python_Exercises.py b/Python_Exercises.py index d7e6135..ff2b419 100644 --- a/Python_Exercises.py +++ b/Python_Exercises.py @@ -4,179 +4,175 @@ # Answer the questions or complete the tasks outlined in bold below. -def power(a,b): - +import numpy as np + + +def power(a, b): + # ** What is 7 to the power of 4?** - - return None + return a**b def split_str(s): - + # ** Split this string:** -# -# s = "Hi there Sam!" -# -# **into a list. ** + # + # s = "Hi there Sam!" + # + # **into a list. ** - return None + return list(s.split()) -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. +def format(planet, diameter): - return None + # ** 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 indexing(lst): - -# ** Given this nested list, use indexing to grab the word "hello" ** -#lst = [1,2,[3,4],[5,[100,200,['hello']],23,11],1,7] + # ** Given this nested list, use indexing to grab the word "hello" ** - return None + # lst = [1,2,[3,4],[5,[100,200,['hello']],23,11],1,7] + + return lst[3][1][2][0] def dictionary(d): - -# ** 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']}]}]} + # ** 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']}]}]} - return None + return d['k1'][3]['tricky'][3]['target'][3] def subjective(): - -# ** What is the main difference between a tuple and a list? ** -# Tuple is _______ - - return None + # ** 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 str(list(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. ** - return None + # ** 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 "dog" in st.lower() -def countDog(st): -# ** Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. ** +def countDog(st): - return None + # ** Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. ** + return len(st.lower().split("dog")) - 1 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 None + return list(filter(lambda x: x[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. ** - return None + # **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. ** + limits = [60, 80] + if is_birthday: + limits = [65, 85] -## Numpy Exercises + if speed <= limits[0]: + return "No Ticket" + elif speed <= limits[1]: + return "Small Ticket" + else: + return "Big Ticket" -import numpy as np +# Numpy Exercises def create_arr_of_fives(): - - #### Create an array of 10 fives - #### Convert your output into list - #### e.g return list(arr) - - return None + # Create an array of 10 fives + # Convert your output into list + # e.g return list(arr) + return list(np.full(10, 5)) 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) - return None + # Create an array of all the even integers from 10 to 50 + # Convert your output into list + # e.g return list(arr) + return list(np.arange(10, 51, 2)) def create_matrix(): - - ### Create a 3x3 matrix with values ranging from 0 to 8 - ### Convert your output into list - ### e.g return (arr).tolist() - return None + # Create a 3x3 matrix with values ranging from 0 to 8 + # Convert your output into list + # e.g return (arr).tolist() + return np.arange(9).reshape(3, 3).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) - return None + # Create an array of 20 linearly spaced points between 0 and 1 + # Convert your output into list + # e.g return list(arr) + return list(np.linspace(0, 1, 20)) 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() - return None + # 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() + return np.around(np.linspace(0.01, 1., 100), decimals=2).reshape(10, 10).tolist() def slices_1(): - + # This is a given array - arr = np.arange(1,26).reshape(5,5) + arr = np.arange(1, 26).reshape(5, 5) # array([[ 1, 2, 3, 4, 5], # [ 6, 7, 8, 9, 10], # [11, 12, 13, 14, 15], @@ -184,20 +180,19 @@ def slices_1(): # [21, 22, 23, 24, 25]]) # Write a code to slice this given array - ### Convert your output into list - ### e.g return (arr).tolist() + # Convert your output into list + # e.g return (arr).tolist() # array([[12, 13, 14, 15], # [17, 18, 19, 20], # [22, 23, 24, 25]]) - return None - + return arr[2:, 1:].tolist() def slices_2(): - + # This is a given array - arr = np.arange(1,26).reshape(5,5) + arr = np.arange(1, 26).reshape(5, 5) # array([[ 1, 2, 3, 4, 5], # [ 6, 7, 8, 9, 10], # [11, 12, 13, 14, 15], @@ -205,20 +200,19 @@ def slices_2(): # [21, 22, 23, 24, 25]]) # Write a code to slice this given array - ### Convert your output into list - ### e.g return (arr).tolist() + # Convert your output into list + # e.g return (arr).tolist() # array([[ 2], # [ 7], # [12]]) - return None - + return (arr[:3, 1:2]).tolist() def slices_3(): - + # This is a given array - arr = np.arange(1,26).reshape(5,5) + arr = np.arange(1, 26).reshape(5, 5) # array([[ 1, 2, 3, 4, 5], # [ 6, 7, 8, 9, 10], # [11, 12, 13, 14, 15], @@ -226,12 +220,12 @@ def slices_3(): # [21, 22, 23, 24, 25]]) # Write a code to slice this given array - ### Convert your output into list - ### e.g return (arr).tolist() + # Convert your output into list + # e.g return (arr).tolist() # array([[16, 17, 18, 19, 20], # [21, 22, 23, 24, 25]]) - - return None + + return (arr[3:]).tolist() -# Great job! +# Great job! \ No newline at end of file