MOBI BOOT CAMP CORP. logoLearning Buddy
  • SIGN IN
  • Introduction
  • Setup
  • 1A: Fundamental Building Blocks
  • 1B: Compound Statements
  • 2: Ordered Collection
  • 3: Unordered Collection
  • 4: More Data types
  • 5: Iteration Constructs
  • 6: Other constructs
  • 7. Regex
  • 8. Date and Time
  • Revision
  • Practice Exercise
  • Titanic Workshop

Revision

This revision has a companion notebook on Kaggle. Fork it and start learning hands-on!

In this section you will revise all the concepts learnt so far in snippets of code:

try, except, finally block

try:  # try statement encloses statements which could throw an exception
    # input function chained with float function
    deposit_amount = float(input("Enter deposit amount:\t\t"))
    interest_earned = float(input("Enter total interest earned:\t\t"))
    interest_rate = (interest_earned / deposit_amount) * 100
    # round function rounds the result to 2 decimal places
    print("Rate of interest: \t\t" + str(round(interest_rate, 2)))
except ValueError:
    print("You entered an invalid integer. Please type a valid value")
finally:
    # typically resources are released in this block
    print("This will be executed no matter what")

for loop

for x in range(3):
    print(f"Hip hip hurray!  {x}")

output:

Hip hip hurray! 0
Hip hip hurray! 1
Hip hip hurray! 2

while loop

# while loop
x = 1.456
while True:
    print(f"Integer value of x {x:1.0f}")
    print(f"Value of x rounded to 2 decimal points {round(x, 2):.2f}")
    x += 1
    if x > 3:
        break

output:

Integer value of x 1
Value of x rounded to 2 decimal points 1.46
Integer value of x 2
Value of x rounded to 2 decimal points 2.46

def function

name = "My name"


def def my_func(name):
    print(f"hello there! {name}")  # global name variable is replaced with the local name.


my_func("Python")

output:

hello there! Python

not keyword

game_over = False
i = 1
while not game_over:
    print(f"playing {i} time(s)")
    i += 1
    if i > 2:
        break

output:

playing 1 time(s)
playing 2 time(s)

Sending list to a function

# sending list to function
topics = ["numpy", "pandas", "seaborn"]


def display_topics(topics):
    for topic in topics:
        print(topic)


display_topics(topics)

output:

numpy
pandas
seaborn

List of lists - 2d

topics = [["numpy", 1], ["pandas", 2], ["seaborn", 3]]

print(topics)
print(topics[1][0])

output:

[['numpy', 1], ['pandas', 2], ['seaborn', 3]]
pandas

Tuples

# Tuples are immutable
t_tuples = ("numpy", "pandas", "seaborn")
print(t_tuples[0])
a, b, c = t_tuples  # tuples can be unpacked into multiple assignment statements
print(b)
# tuples are more efficient than lists so for readonly structures use tuples

output:

numpy
pandas

String search

message = "Congratulations!  you are all set to move on to numpy and pandas!"
print("you" in message)
print("congratulations" in message)  # case sensitive
for char in "study":
    print(char)
print(message.startswith("Congratulations"))

output:

True
False
s
t
u
d
y
True

String manipulations

numbers = "12345"
print(numbers.isdigit())  # Other functions; islower(), isupper(), isalpha()

message = "this is really easy!"
print(message.title())

phone_number = "123 234 3489    "
print(phone_number.strip() + ".")
print(phone_number.replace(" ", "-"))
print(f"({phone_number[:3]}){phone_number[4:7]}-{phone_number[8:13]}")
print(phone_number.split(" "))

# Justifies to the given length by adding spaces to fill the gap
print("book".ljust(14), "$9.99".rjust(10))

print(message.upper())

output:

True
This Is Really Easy!
123 234 3489.
123-234-3489----
(123)234-3489
['123', '234', '3489', '', '', '', '']
book                 $9.99
THIS IS REALLY EASY!

datetime module

from datetime import date, datetime

print(date.today())
print(datetime.now())
peace_day = datetime(1981, 9, 21, 17, 30)
print(peace_day)
print(peace_day.strftime("%Y/%m/%d"))

output:

[the date this program is run]
[the date and time this program is run]
1981-09-21 17:30:00
1981/09/21>

Dictionaries

are unordered collection. Keys are indexed, Key can be any immutable type and value can be any type including mutable types

countries = {"CA": "Canada", "US": "United States", "MX": "Mexico", 3: 10}
print(countries)
print(countries["CA"])
code = "US"
if code in countries:
    print(countries[code])

print(countries.get("mx"))  # Case sensitive
print(countries.get("MX"))

countries["IN"] = "India"
print(countries["IN"])
countries["IN"] = "Bharath"
print(countries["IN"])
del countries["MX"]
print(countries)
countries.pop(
    "IN"
)  # You can use del, pop methods to remove an item from dictionary. clear() removes all items
print(countries)
print(countries.keys())
print(countries.values())
for name in countries.values():
    print(name)

for code, name in countries.items():  # Unpack tuples
    print(code, name)

output:

{'CA': 'Canada', 'US': 'United States', 'MX': 'Mexico', 3: 10}
Canada
United States
None
Mexico
India
Bharath
{'CA': 'Canada', 'US': 'United States', 3: 10, 'IN': 'Bharath'}
{'CA': 'Canada', 'US': 'United States', 3: 10}
dict_keys(['CA', 'US', 3])
dict_values(['Canada', 'United States', 10])
Canada
United States
10
CA Canada
US United States
3 10

More dictionary manipulations

# Convert dictionary to list
codes = list(countries.keys())
print(type(codes))
del codes[2]  # remove the integer so sort can work

codes.sort()
print(codes)

output:

<class 'list'>
['CA', 'US']

Privacy Policy | Terms & Conditions