diff --git a/Python_Exercises.py b/Python_Exercises.py index d7e6135..8c74871 100644 --- a/Python_Exercises.py +++ b/Python_Exercises.py @@ -7,34 +7,31 @@ 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. ** - - return None +# + s = "Hi there Sam!" + my_list=list(s.split()) + return my_list def format(planet,diameter): # ** Given the variables:** # -# planet = "Earth" -# diameter = 12742 + 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) - return None @@ -42,54 +39,52 @@ 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] - - 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']}]}]} - + d = {'k1':[1,2,3,{'tricky':['oh','man','inception',{'target':[1,2,3,'hello']}]}]} + return d['k1'][3]['tricky'][3]['target'][3] - return None def subjective(): # ** What is the main difference between a tuple and a list? ** -# Tuple is _______ - - return None +# Tuple is immutable whereas a list is mutable + return "immutable" def domainGet(email): - # ** Create a function that grabs the email website domain from a string in the form: ** + # **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** - - return None + my_list=list(email.split("@")) + return str(my_list[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 "dog" in st.lower() - return None def countDog(st): # ** Create a function that counts the number of times the word "dog" occurs in a string. Again ignore edge cases. ** + count = 0 + return len(st.lower().split("dog"))-1 - return None @@ -97,13 +92,14 @@ 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'] + seq = ['soup','dog','salad','cat','great'] + a = [] + return list(filter(lambda var:var[0]=='s',(seq))) # # **should be filtered down to:** # # ['soup','salad'] - return None def caught_speeding(speed, is_birthday): @@ -114,8 +110,17 @@ def caught_speeding(speed, is_birthday): # 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. ** + if (is_birthday): + limits =[65,85] + else: + limits =[60,80] - return None + if speed<=limits[0]: + return "No Ticket" + elif speed<=limits[1]: + return "Small Ticket" + else: + return "Big Ticket" ## Numpy Exercises @@ -128,8 +133,8 @@ def create_arr_of_fives(): #### Create an array of 10 fives #### Convert your output into list #### e.g return list(arr) - - return None + arr=np.full(10,5) + return list(arr) @@ -138,8 +143,8 @@ 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 + arr=np.arange(10,51,2) + return list(arr) @@ -148,9 +153,7 @@ 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 - + return np.arange(9).reshape(3,3).tolist() def linear_space(): @@ -159,7 +162,7 @@ def linear_space(): ### Convert your output into list ### e.g return list(arr) - return None + return list(np.linspace(0,1,20)) @@ -169,7 +172,7 @@ def decimal_mat(): ### Convert your output into list ### e.g return (arr).tolist() - return None + return np.around(np.linspace(0.01,1.,100),decimals=2).reshape(10,10).tolist() @@ -190,7 +193,7 @@ def slices_1(): # [17, 18, 19, 20], # [22, 23, 24, 25]]) - return None + return arr[2: ,1: ].tolist() @@ -211,7 +214,7 @@ def slices_2(): # [ 7], # [12]]) - return None + return (arr[ :3,1:2].tolist()) @@ -225,13 +228,13 @@ def slices_3(): # [16, 17, 18, 19, 20], # [21, 22, 23, 24, 25]]) - # Write a code to slice this given array + # 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 + return arr[3: , ].tolist() # Great job!