0% found this document useful (0 votes)
707 views

03-Python Crash Course Exercises - Solutions PDF

This document provides solutions to exercises from a Python crash course. It includes solutions to problems involving mathematical operations, string manipulation, list/dictionary indexing, lambda functions and filtering, and defining functions. For example, it shows how to use format() to print a string with variables, grab elements from nested lists/dictionaries, define functions to check for a substring or count occurrences in a string, and define a function to return different results for speeding tickets based on speed and birthday status.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
707 views

03-Python Crash Course Exercises - Solutions PDF

This document provides solutions to exercises from a Python crash course. It includes solutions to problems involving mathematical operations, string manipulation, list/dictionary indexing, lambda functions and filtering, and defining functions. For example, it shows how to use format() to print a string with variables, grab elements from nested lists/dictionaries, define functions to check for a substring or count occurrences in a string, and define a function to return different results for speeding tickets based on speed and birthday status.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Python Crash Course Exercises - Solutions

Exercises
Answer the questions or complete the tasks outlined in bold below, use the specific method
described if applicable.
** What is 7 to the power of 4?**
7**4

2401

** Split this string:**


s = "Hi there Sam!"

into a list.
s = 'Hi there Sam!'

s.split()

['Hi', 'there', 'dad!']

** Given the variables:**


planet = "Earth"
diameter = 12742

** Use .format() to print the following string: **


The diameter of Earth is 12742 kilometers.

planet = "Earth"
diameter = 12742

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

The diameter of Earth is 12742 kilometers.

** 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[3][1][2][0]

'hello'
** Given this nest 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'][3]['tricky'][3]['target'][3]

'hello'

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


# Tuple is immutable

** Create a function that grabs the email website domain from a string in the form: **
[email protected]

So for example, passing "[email protected]" would return: domain.com


def domainGet(email):
return email.split('@')[-1]

domainGet('[email protected]')

'domain.com'

** 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. **
def findDog(st):
return 'dog' in st.lower().split()

findDog('Is there a dog here?')

True

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

countDog('This dog runs faster than the other dog dude!')

** 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']

list(filter(lambda word: word[0]=='s',seq))

['soup', 'salad']

Final Problem
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.
def caught_speeding(speed, is_birthday):

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'

caught_speeding(81,True)

'Small Ticket'

caught_speeding(81,False)

'Big Ticket'

Great job!

You might also like