diff --git a/.gitignore b/.gitignore
index 22212bc..e4f969f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,3 @@
*.air
*.ipa
*.apk
-
-# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
-# should NOT be excluded as they contain compiler settings and other important
-# information for Eclipse / Flash Builder.
diff --git a/1-hello-world/01_setting_up.py b/1-hello-world/01_setting_up.py
new file mode 100644
index 0000000..4ac8144
--- /dev/null
+++ b/1-hello-world/01_setting_up.py
@@ -0,0 +1,3 @@
+# Write code below 💖
+
+print('Hi')
diff --git a/1-hello-world/02_hello_world.py b/1-hello-world/02_hello_world.py
index 60f08aa..73fb7c3 100644
--- a/1-hello-world/02_hello_world.py
+++ b/1-hello-world/02_hello_world.py
@@ -1 +1 @@
-print('Hello world!')
+print('Hello World!')
diff --git a/2-variables/09_hypotenuse.py b/2-variables/09_hypotenuse.py
new file mode 100644
index 0000000..eb6b9e7
--- /dev/null
+++ b/2-variables/09_hypotenuse.py
@@ -0,0 +1,9 @@
+# Pythagorean Theorem 📐
+# Codédex
+
+a = int(input("Enter a: "))
+b = int(input("Enter b: "))
+
+c = (a**2 + b**2) ** 0.5
+
+print(c)
diff --git a/2-variables/10_currency.py b/2-variables/10_currency.py
index e66434c..bb949a1 100644
--- a/2-variables/10_currency.py
+++ b/2-variables/10_currency.py
@@ -1,10 +1,10 @@
# Currency 💵
# Codédex
-yuan = int(input('What do you have left in yuan? '))
-yen = int(input('What do you have left in yen? '))
-won = int(input('What do you have left in won? '))
+pesos = int(input('What do you have left in pesos? '))
+soles = int(input('What do you have left in soles? '))
+reais = int(input('What do you have left in reais? '))
-total = yuan * 0.15 + yen * 0.0077 + won * 0.00080
+total = pesos * 0.00025 + soles * 0.28 + reais * 0.21
print(total)
diff --git a/3-control-flow/14_magic_8_ball.py b/3-control-flow/14_magic_8_ball.py
index 8c58491..8a620d2 100644
--- a/3-control-flow/14_magic_8_ball.py
+++ b/3-control-flow/14_magic_8_ball.py
@@ -3,10 +3,9 @@
import random
-question = input('Question: ')
+question = input('Question: ')
random_number = random.randint(1, 9)
-# print(random_number)
if random_number == 1:
answer = 'Yes - definitely'
diff --git a/3-control-flow/15_the_cyclone.py b/3-control-flow/15_the_cyclone.py
deleted file mode 100644
index a753545..0000000
--- a/3-control-flow/15_the_cyclone.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# The Cyclone 🎢
-# Codédex
-
-height = 250
-credits = 10
-with_taller_person = False
-
-if height >= 137 and credits >= 10:
- print("Enjoy the ride!")
-
-if height < 137:
- if height < 100 or not with_taller_person:
- print("You're not tall enough for this ride yet.")
- elif height >= 100 and with_taller_person:
- print("Enjoy the ride!")
-
-if credits < 10:
- print("You don't have enough credits to ride.")
diff --git a/3-control-flow/15_the_cyclone_1.py b/3-control-flow/15_the_cyclone_1.py
new file mode 100644
index 0000000..fadabd1
--- /dev/null
+++ b/3-control-flow/15_the_cyclone_1.py
@@ -0,0 +1,14 @@
+# The Cyclone 🎢
+# Codédex
+
+height = int(input('What is your height (cm)? '))
+credits = int(input('How many credits do you have? '))
+
+if height >= 137 and credits >= 10:
+ print("Enjoy the ride!")
+elif height < 137 and credits >= 10:
+ print("You are not tall enough to ride.")
+elif credits < 10 and height >= 137:
+ print("You don't have enough credits to ride.")
+else:
+ print("You are not tall enough for this ride, nor do you have enough credits.")
diff --git a/3-control-flow/15_the_cyclone_2.py b/3-control-flow/15_the_cyclone_2.py
new file mode 100644
index 0000000..7a79377
--- /dev/null
+++ b/3-control-flow/15_the_cyclone_2.py
@@ -0,0 +1,17 @@
+# The Cyclone 🎢
+# Codédex
+
+ride_is_open = True
+
+height = int(input('What is your height (cm)? '))
+credits = int(input('How many credits do you have? '))
+
+tall_enough = height >= 137
+enough_credits = credits >= 10
+
+if ride_is_open and tall_enough and enough_credits:
+ print("Enjoy the ride!")
+elif not tall_enough or not enough_credits:
+ print("You are either not tall enough to ride or you don't have enough credits.")
+else:
+ print("Sorry! The ride is currently closed!")
diff --git a/3-control-flow/16_sorting_hat_1.py b/3-control-flow/16_sorting_hat_1.py
index c1547dc..9355579 100644
--- a/3-control-flow/16_sorting_hat_1.py
+++ b/3-control-flow/16_sorting_hat_1.py
@@ -20,11 +20,11 @@
answer = int(input('Enter answer (1-2): '))
if answer == 1:
- gryffindor += 1
- ravenclaw += 1
+ gryffindor = gryffindor + 1
+ ravenclaw = ravenclaw + 1
elif answer == 2:
- hufflepuff += 1
- slytherin +=1
+ hufflepuff = hufflepuff + 1
+ slytherin = slytherin + 1
else:
print('Wrong input.')
@@ -40,13 +40,13 @@
answer = int(input('Enter your answer (1-4): '))
if answer == 1:
- hufflepuff += 2
+ hufflepuff = hufflepuff + 2
elif answer == 2:
- slytherin += 2
+ slytherin = slytherin + 2
elif answer == 3:
- ravenclaw += 2
+ ravenclaw = ravenclaw + 2
elif answer == 4:
- gryffindor += 2
+ gryffindor = gryffindor + 2
else:
print('Wrong input.')
@@ -62,13 +62,13 @@
answer = int(input('Enter your answer (1-4): '))
if answer == 1:
- slytherin += 4
+ slytherin = slytherin + 4
elif answer == 2:
- hufflepuff += 4
+ hufflepuff = hufflepuff + 4
elif answer == 3:
- ravenclaw +=4
+ ravenclaw = ravenclaw + 4
elif answer == 4:
- gryffindor += 4
+ gryffindor = gryffindor + 4
else:
print('Wrong input.')
@@ -77,13 +77,13 @@
print("Hufflepuff: ", hufflepuff)
print("Slytherin: ", slytherin)
-most_points = max(gryffindor, ravenclaw, hufflepuff, slytherin) # We'll learn about max() in the Functions chapter
+# Bonus Part
-if gryffindor == most_points:
+if gryffindor >= ravenclaw and gryffindor >= hufflepuff and gryffindor >= slytherin:
print('🦁 Gryffindor!')
-elif ravenclaw == most_points:
+elif ravenclaw >= hufflepuff and ravenclaw >= slytherin:
print('🦅 Ravenclaw!')
-elif hufflepuff == most_points:
+elif hufflepuff >= slytherin:
print('🦡 Hufflepuff!')
else:
print('🐍 Slytherin!')
diff --git a/3-control-flow/16_sorting_hat_2.py b/3-control-flow/16_sorting_hat_2.py
index 55692c1..be56f5c 100644
--- a/3-control-flow/16_sorting_hat_2.py
+++ b/3-control-flow/16_sorting_hat_2.py
@@ -77,11 +77,15 @@
print("Hufflepuff: ", hufflepuff)
print("Slytherin: ", slytherin)
-if gryffindor >= ravenclaw and gryffindor >= hufflepuff and gryffindor >= slytherin:
+# Bonus Part
+
+most_points = max(gryffindor, ravenclaw, hufflepuff, slytherin) # We'll learn about the max() function in Chapter 6
+
+if gryffindor == most_points:
print('🦁 Gryffindor!')
-elif ravenclaw >= hufflepuff and ravenclaw >= slytherin:
+elif ravenclaw == most_points:
print('🦅 Ravenclaw!')
-elif hufflepuff >= slytherin:
+elif hufflepuff == most_points:
print('🦡 Hufflepuff!')
else:
- print('🐍 Slytherin!')
\ No newline at end of file
+ print('🐍 Slytherin!')
diff --git a/4-loops/18_guess_number.py b/4-loops/18_guess_number.py
index cfbb6c0..1597cad 100644
--- a/4-loops/18_guess_number.py
+++ b/4-loops/18_guess_number.py
@@ -5,7 +5,7 @@
tries = 0
while guess != 6 and tries < 5:
- guess = int(input('Guess the number: '))
+ guess = int(input('Guess the number: '))
tries = tries + 1
if guess != 6:
diff --git a/4-loops/20_99_bottles.py b/4-loops/20_99_bottles.py
index 428f671..38d7eb3 100644
--- a/4-loops/20_99_bottles.py
+++ b/4-loops/20_99_bottles.py
@@ -4,5 +4,5 @@
for i in range(99, 0, -1):
print(f'{i} bottles of beer on the wall')
print(f'{i} bottles of beer')
- print('take one down pass it around')
+ print('Take one down, pass it around')
print(f'{i-1} bottles of beer on the wall')
diff --git a/5-lists/24_inventory.py b/5-lists/24_inventory.py
index 99f001c..1c1cb5a 100644
--- a/5-lists/24_inventory.py
+++ b/5-lists/24_inventory.py
@@ -1,7 +1,7 @@
# Inventory 📦
# Codédex
-airplane_toys = [ 898, 732, 543, 878 ]
+lego_parts = [8980, 7323, 5343, 82700, 92232, 1203, 7319, 8903, 2328, 1279, 679, 589]
-print(min(airplane_toys))
-print(max(airplane_toys))
+print(min(lego_parts))
+print(max(lego_parts))
diff --git a/5-lists/25_reading.py b/5-lists/25_reading.py
deleted file mode 100644
index 9a9d646..0000000
--- a/5-lists/25_reading.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Reading List 📚
-# Codédex
-
-books = ['Zero to One',
- 'The Lean Startup',
- 'The Mom Test',
- 'Made to Stick',
- 'Life in Code']
-
-print(books)
-
-books.append('Zero to Sold')
-books.remove('Zero to One')
-books.pop(0)
-
-print(books)
diff --git a/5-lists/25_reading_list.py b/5-lists/25_reading_list.py
new file mode 100644
index 0000000..07ace1e
--- /dev/null
+++ b/5-lists/25_reading_list.py
@@ -0,0 +1,16 @@
+# Reading List 📚
+# Codédex
+
+books = ['Harry Potter',
+ '1984',
+ 'The Fault in Our Stars',
+ 'The Mom Test',
+ 'Life in Code']
+
+print(books)
+
+books.append('Pachinko')
+books.remove('The Fault in Our Stars')
+books.pop(1)
+
+print(books)
diff --git a/5-lists/27_bucket_list.py b/5-lists/27_bucket_list.py
index ea7fae1..f4dcfa7 100644
--- a/5-lists/27_bucket_list.py
+++ b/5-lists/27_bucket_list.py
@@ -1,8 +1,8 @@
-# Bucket List: Jerry Zhu
+# Bucket List 🪣
# Codédex
things_to_do = [
- '🚀 Build a menaingful product for everyone.',
+ '🚀 Build a meaningful product for everyone.',
'⛰ Try out hiking and mountain biking.',
'🌏 Visit at least 10 countries in my lifetime.',
'🎸 Produce an original song.',
diff --git a/6-functions/28_dry.py b/6-functions/28_dry.py
index 162175a..79a4dcf 100644
--- a/6-functions/28_dry.py
+++ b/6-functions/28_dry.py
@@ -17,5 +17,5 @@
# This function calculates the length of a list
print(len(list_of_foods))
-# This function calculates the a to the power b
+# This function calculates a to the power b
print(pow(2, 6))
diff --git a/6-functions/30_rocket.py b/6-functions/30_rocket.py
index 306c2eb..d928b41 100644
--- a/6-functions/30_rocket.py
+++ b/6-functions/30_rocket.py
@@ -2,7 +2,7 @@
# Codédex
def distance_to_miles(distance):
- return distance / 1.609
+ miles = distance / 1.609
+ print(miles)
-answer = distance_to_miles(10000)
-print(answer)
+distance_to_miles(10000)
diff --git a/6-functions/32_stonks.py b/6-functions/32_stonks.py
index b300b9b..d2ba9d6 100644
--- a/6-functions/32_stonks.py
+++ b/6-functions/32_stonks.py
@@ -1,20 +1,20 @@
# Stonks 📈
# Codédex
-stock_prices = [ 6.15, 5.81, 5.70, 5.65, 5.33, 5.62, 5.19, 6.13, 7.20, 7.34, 7.95, 7.53, 7.39, 7.59, 7.27 ]
+stock_prices = [34.68, 36.09, 34.94, 33.97, 34.68, 35.82, 43.41, 44.29, 44.65, 53.56, 49.85, 48.71, 48.71, 49.94, 48.53, 47.03, 46.59, 48.62, 44.21, 47.21]
def price_at(i):
return stock_prices[i-1]
def max_price(a, b):
mx = 0
- for i in range(a, b):
+ for i in range(a, b + 1):
mx = max(mx, price_at(i))
return mx
def min_price(a, b):
mn = price_at(a)
- for i in range(a, b):
+ for i in range(a, b + 1):
mn = min(mn, price_at(i))
return mn
diff --git a/7-classes-objects/34_restaurants.py b/7-classes-objects/34_restaurants.py
index 9ee4a98..3986bfe 100644
--- a/7-classes-objects/34_restaurants.py
+++ b/7-classes-objects/34_restaurants.py
@@ -3,6 +3,6 @@
class Restaurant:
name = ''
- type = ''
+ category = ''
rating = 0.0
- deliver = True
\ No newline at end of file
+ delivery = True
diff --git a/7-classes-objects/35_bobs_burgers.py b/7-classes-objects/35_bobs_burgers.py
index c174dcb..68264cc 100644
--- a/7-classes-objects/35_bobs_burgers.py
+++ b/7-classes-objects/35_bobs_burgers.py
@@ -24,3 +24,7 @@ class Restaurant:
baekjeong.type = 'Korean BBQ'
baekjeong.rating = 4.4
baekjeong.delivery = False
+
+print(vars(bobs_burgers))
+print(vars(katz_deli))
+print(vars(baekjeong))
\ No newline at end of file
diff --git a/7-classes-objects/36_favorite_cities.py b/7-classes-objects/36_favorite_cities.py
index 5df0277..138e0ac 100644
--- a/7-classes-objects/36_favorite_cities.py
+++ b/7-classes-objects/36_favorite_cities.py
@@ -15,4 +15,3 @@ def __init__(self, name, country, population, landmarks):
print(vars(nyc))
print(vars(shanghai))
-
\ No newline at end of file
diff --git a/7-classes-objects/38_pokedex.py b/7-classes-objects/38_pokedex.py
deleted file mode 100644
index 092f7e1..0000000
--- a/7-classes-objects/38_pokedex.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# Pokédex 📟
-# Codédex
-
-# Class definition
-class Pokemon:
- def __init__(self, name, type, description, level, region, is_caught):
- self.name = name
- self.type = type
- self.description = description
- self.level = level
- self.region = region
- self.is_caught = is_caught
-
- # Instance method
- def speak(self):
- print(self.name + ' made a sound!')
-
- # Instance method
- def display_details(self):
- print('Name: ' + self.name)
-
- if len(self.type) == 1:
- print('Type: ' + self.type[0])
- else:
- print('Type: ' + self.type[0] + '/' + self.type[1])
-
- print('Lv. ' + self.level)
- print('Region: ' + self.region)
- print('Description: ' + self.description)
-
- if self.is_caught:
- print(self.name + ' has already been caught!')
- else:
- print(self.name + ' hasn\'t been caught yet.')
-
-# Pokémon objects
-pikachu = Pokemon("Pikachu", ["Electric"], " It has small electric sacs on both its cheeks. If threatened, it looses electric charges from the sacs.", 25, "Kanto", True)
-
-charizard = Pokemon("Charizard", ["Fire", "Flying"], " It spits fire that is hot enough to melt boulders. It may cause forest fires by blowing flames.", 36, "Kanto", False)
-
-gyarados = Pokemon("Gyarados", ["Water", "Flying"], "It has an extremely aggressive nature. The HYPER BEAM it shoots from its mouth totally incinerates all targets.", 57, "Kanto", False)
-
-
-
diff --git a/7-classes-objects/38_pokedex_1.py b/7-classes-objects/38_pokedex_1.py
new file mode 100644
index 0000000..f11d4a1
--- /dev/null
+++ b/7-classes-objects/38_pokedex_1.py
@@ -0,0 +1,39 @@
+# Pokédex 📟
+# Codédex
+
+# Class definition
+class Pokemon:
+ def __init__(self, entry, name, types, description, is_caught):
+ self.entry = entry
+ self.name = name
+ self.types = types
+ self.description = description
+ self.is_caught = is_caught
+
+ def speak(self):
+ print(self.name + ', ' + self.name + '!')
+
+ def display_details(self):
+ print('Entry Number: ' + str(self.entry))
+ print('Name: ' + self.name)
+
+ if len(self.types) == 1:
+ print('Type: ' + self.types[0])
+ else:
+ print('Type: ' + self.types[0] + '/' + self.types[1])
+
+ print('Description: ' + self.description)
+
+ if self.is_caught:
+ print(self.name + ' has already been caught!')
+ else:
+ print(self.name + ' hasn\'t been caught yet.')
+
+# Pokémon objects
+pikachu = Pokemon(25, 'Pikachu', ['Electric'], 'It has small electric sacs on both its cheeks. If threatened, it looses electric charges from the sacs.', True)
+charizard = Pokemon(6, 'Charizard', ['Fire', 'Flying'], 'It spits fire that is hot enough to melt boulders. It may cause forest fires by blowing flames.', False)
+gyarados = Pokemon(130, 'Gyarados', ['Water', 'Flying'], 'It has an extremely aggressive nature. The HYPER BEAM it shoots from its mouth totally incinerates all targets.', False)
+
+pikachu.speak()
+charizard.speak()
+gyarados.speak()
\ No newline at end of file
diff --git a/7-classes-objects/38_pokedex_2.py b/7-classes-objects/38_pokedex_2.py
new file mode 100644
index 0000000..91c3311
--- /dev/null
+++ b/7-classes-objects/38_pokedex_2.py
@@ -0,0 +1,43 @@
+# Pokédex 📟
+# Codédex
+
+# Class definition
+class Pokemon:
+ def __init__(self, entry, name, types, description, level, region, is_caught):
+ self.entry = entry
+ self.name = name
+ self.types = types
+ self.description = description
+ self.level = level
+ self.region = region
+ self.is_caught = is_caught
+
+ def speak(self):
+ print(self.name + ', ' + self.name + '!')
+
+ def display_details(self):
+ print('Entry Number: ' + str(self.entry))
+ print('Name: ' + self.name)
+
+ if len(self.types) == 1:
+ print('Type: ' + self.types[0])
+ else:
+ print('Type: ' + self.types[0] + '/' + self.types[1])
+
+ print('Lv. ' + str(self.level))
+ print('Region: ' + self.region)
+ print('Description: ' + self.description)
+
+ if self.is_caught:
+ print(self.name + ' has already been caught!')
+ else:
+ print(self.name + ' hasn\'t been caught yet.')
+
+# Pokémon objects
+pikachu = Pokemon(25, 'Pikachu', ['Electric'], 'It has small electric sacs on both its cheeks. If threatened, it looses electric charges from the sacs.', 25, 'Kanto', True)
+charizard = Pokemon(6, 'Charizard', ['Fire', 'Flying'], 'It spits fire that is hot enough to melt boulders. It may cause forest fires by blowing flames.', 36, 'Kanto', False)
+gyarados = Pokemon(130, 'Gyarados', ['Water', 'Flying'], 'It has an extremely aggressive nature. The HYPER BEAM it shoots from its mouth totally incinerates all targets.', 57, 'Kanto', False)
+
+pikachu.speak()
+charizard.speak()
+gyarados.speak()
\ No newline at end of file
diff --git a/8-modules/39_slot_machine_1.py b/8-modules/39_slot_machine_1.py
new file mode 100644
index 0000000..70fc1fc
--- /dev/null
+++ b/8-modules/39_slot_machine_1.py
@@ -0,0 +1,19 @@
+# Slot Machine 🎰
+# Codédex
+
+import random
+
+symbols = [
+ '🍒',
+ '🍇',
+ '🍉',
+ '7️⃣'
+]
+
+results = random.choices(symbols, k=3)
+print(f'{results[0]} | {results[1]} | {results[2]}')
+
+if (results[0] == '7️⃣' and results[1] == '7️⃣' and results[2] == '7️⃣'):
+ print('Jackpot! 💰')
+else:
+ print('Thanks for playing!')
diff --git a/8-modules/39_slot_machine_2.py b/8-modules/39_slot_machine_2.py
new file mode 100644
index 0000000..6b5cb8b
--- /dev/null
+++ b/8-modules/39_slot_machine_2.py
@@ -0,0 +1,31 @@
+# Slot Machine 🎰
+# Codédex
+
+import random
+
+symbols = [
+ '🍒',
+ '🍇',
+ '🍉',
+ '7️⃣'
+]
+
+def play():
+
+ for i in range(1, 51):
+ results = random.choices(symbols, k=3)
+ print(f'{results[0]} | {results[1]} | {results[2]}')
+ win = results[0] == '7️⃣' and results[1] == '7️⃣' and results[2] == '7️⃣'
+
+ if win:
+ print('Jackpot!!! 💰')
+ break
+ else:
+ results = random.choices(symbols, k=3)
+
+answer = ''
+while answer.upper() != 'N':
+ play()
+ answer = input('Keep playing? (Y/N) ')
+
+print('Thanks for playing!')
\ No newline at end of file
diff --git a/8-modules/40_solar_system.py b/8-modules/40_solar_system.py
new file mode 100644
index 0000000..7388ce0
--- /dev/null
+++ b/8-modules/40_solar_system.py
@@ -0,0 +1,32 @@
+# Solar System 🪐
+# Codédex
+
+from math import pi; from random import choice as ch
+
+planets = [
+ 'Mercury',
+ 'Venus',
+ 'Earth',
+ 'Mars',
+ 'Saturn'
+]
+
+random_planet = ch(planets)
+radius = 0
+
+if random_planet == 'Mercury':
+ radius = 2440
+elif random_planet == 'Venus':
+ radius = 6052
+elif random_planet == 'Earth':
+ radius = 6371
+elif random_planet == 'Mars':
+ radius = 3390
+elif random_planet == 'Saturn':
+ radius = 58232
+else:
+ print('Oops! An error occurred.')
+
+planet_area = 4 * pi * radius * radius
+
+print(f'Area of {random_planet}: {planet_area} sq mi')
diff --git a/8-modules/41_bday_messages.py b/8-modules/41_bday_messages.py
new file mode 100644
index 0000000..02659fb
--- /dev/null
+++ b/8-modules/41_bday_messages.py
@@ -0,0 +1,14 @@
+# Countdown 🎂
+# Codédex
+
+import random
+
+bday_messages = [
+ 'Hope you have a very Happy Birthday! 🎈',
+ 'It\'s your special day – get out there and celebrate! 🎉',
+ 'You were born and the world got better – everybody wins! Happy Birthday! 🥳',
+ 'Have lots of fun on your special day! 🎂',
+ 'Another year of you going around the sun! 🌞'
+]
+
+random_message = random.choice(bday_messages)
\ No newline at end of file
diff --git a/8-modules/41_main.py b/8-modules/41_main.py
new file mode 100644
index 0000000..42cd469
--- /dev/null
+++ b/8-modules/41_main.py
@@ -0,0 +1,15 @@
+# Countdown 🎂
+# Codédex
+
+import datetime, bday_messages
+
+today = datetime.date.today()
+
+my_next_birthday = datetime.date(2023, 4, 5)
+
+days_away = my_next_birthday - today
+
+if my_next_birthday == today:
+ print(bday_messages.random_message)
+else:
+ print(f'My next birthday is {days_away.days} days away!')
diff --git a/8-modules/42_forty_two.py b/8-modules/42_forty_two.py
new file mode 100644
index 0000000..7e5928e
--- /dev/null
+++ b/8-modules/42_forty_two.py
@@ -0,0 +1,6 @@
+# Forty Two 4️⃣2️⃣
+# Codédex
+
+import wikipedia
+
+print(wikipedia.search('Philosophy of life'))
\ No newline at end of file
diff --git a/8-modules/43_zen.py b/8-modules/43_zen.py
new file mode 100644
index 0000000..60c1fe9
--- /dev/null
+++ b/8-modules/43_zen.py
@@ -0,0 +1,26 @@
+# The Zen of Python 📜
+# Codédex
+
+import this
+
+"""
+Beautiful is better than ugly.
+Explicit is better than implicit.
+Simple is better than complex.
+Complex is better than complicated.
+Flat is better than nested.
+Sparse is better than dense.
+Readability counts.
+Special cases aren't special enough to break the rules.
+Although practicality beats purity.
+Errors should never pass silently.
+Unless explicitly silenced.
+In the face of ambiguity, refuse the temptation to guess.
+There should be one-- and preferably only one --obvious way to do it.
+Although that way may not be obvious at first unless you're Dutch.
+Now is better than never.
+Although never is often better than *right* now.
+If the implementation is hard to explain, it's a bad idea.
+If the implementation is easy to explain, it may be a good idea.
+Namespaces are one honking great idea -- let's do more of those!
+"""
diff --git a/README.md b/README.md
index 7d33798..cb56759 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,9 @@
-Welcome to The Legend of Python GitHub repo! We are super excited to have you. Here, you will find all the solutions to the Codédex challenges. Feel free to make pull requests to add your own twists on the challenges!
+Welcome to The Legend of Python GitHub repo! We are super excited to have you. Here, you will find all the solutions to the Codédex exercises. Feel free to make pull requests to add your own twists on the exercises!
-### Website: www.codedex.io
+### Website: www.codedex.io/python
##
Hello World
@@ -23,13 +23,14 @@ Welcome to The Legend of Python GitHub repo! We are super excited to have you. H
- [`quadratic.py`](https://github.com/codedex-io/python-101/blob/main/2-variables/09_quadratic.py)
- [`currency.py`](https://github.com/codedex-io/python-101/blob/main/2-variables/10_currency.py)
-##
Control Flow
+##
Control Flow
- [`coin_flip.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/11_coin_flip.py)
- [`grades.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/12_grades.py)
- [`ph_levels.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/13_ph_levels.py)
- [`magic_8_ball.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/14_magic_8_ball.py)
-- [`the_cyclone.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/15_the_cyclone.py)
+- [`the_cyclone.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/15_the_cyclone_1.py) (solution 1)
+- [`the_cyclone.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/15_the_cyclone_2.py) (solution 2)
- [`sorting_hat.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/16_sorting_hat_1.py) (solution 1)
- [`sorting_hat.py`](https://github.com/codedex-io/python-101/blob/main/3-control-flow/16_sorting_hat_2.py) (solution 2)
@@ -41,12 +42,12 @@ Welcome to The Legend of Python GitHub repo! We are super excited to have you. H
- [`99_bottles.py`](https://github.com/codedex-io/python-101/blob/main/4-loops/20_99_bottles.py)
- [`fizz_buzz.py`](https://github.com/codedex-io/python-101/blob/main/4-loops/21_fizz_buzz.py)
-##
Lists
+##
Lists
- [`grocery.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/22_grocery.py)
- [`todo.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/23_todo.py)
- [`inventory.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/24_inventory.py)
-- [`reading.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/25_reading.py)
+- [`reading.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/25_reading_list.py)
- [`mixtape.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/26_mixtape.py)
- [`bucket_list.py`](https://github.com/codedex-io/python-101/blob/main/5-lists/27_bucket_list.py)
@@ -60,6 +61,25 @@ Welcome to The Legend of Python GitHub repo! We are super excited to have you. H
- [`stonks.py`](https://github.com/codedex-io/python-101/blob/main/6-functions/32_stonks.py)
- [`drive_thru.py`](https://github.com/codedex-io/python-101/blob/main/6-functions/33_drive_thru.py)
+##
Classes & Objects
+
+- [`restaurants.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/34_restaurants.py)
+- [`bobs_burgers.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/35_bobs_burgers.py)
+- [`favorite_cities.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/36_favorite_cities.py)
+- [`bank_accounts.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/37_bank_accounts.py)
+- [`pokedex.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/38_pokedex_1.py) (solution 1)
+- [`pokedex.py`](https://github.com/codedex-io/python-101/blob/main/7-classes-objects/38_pokedex_2.py) (solution 2)
+
+##
Modules
+
+- [`slot_machine.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/39_slot_machine_1.py) (solution 1)
+- [`slot_machine.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/39_slot_machine_2.py) (solution 2)
+- [`solar_system.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/40_solar_system.py)
+- [`bday_messages.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/41_bday_messages.py) (for exercise 41)
+- [`main.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/41_main.py) (for exercise 41)
+- [`forty_two.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/42_forty_two.py)
+- [`zen.py`](https://github.com/codedex-io/python-101/blob/main/8-modules/43_zen.py)
+
---
-Make sure to join the [Codédex Club or Workshops](https://www.codedex.io/community) for more problems! 💖
+Make sure to join the [community](https://www.codedex.io/community) and [Codédex Club](https://www.codedex.io/pricing) for more content! 💖
diff --git a/assets/badge_classes_and_objects.png b/assets/badge_classes_and_objects.png
new file mode 100644
index 0000000..2662aa7
Binary files /dev/null and b/assets/badge_classes_and_objects.png differ
diff --git a/assets/badge_modules.png b/assets/badge_modules.png
new file mode 100644
index 0000000..655590a
Binary files /dev/null and b/assets/badge_modules.png differ
diff --git a/projects.md b/projects.md
index 20fd964..6e66f9f 100644
--- a/projects.md
+++ b/projects.md
@@ -4,7 +4,7 @@
- 🥠 Fortune Cookie
- 🎲 Dice Rolling Simulator
-- 🫱 Rock Paper Scisssors
+- 🫱 Rock Paper Scissors
- 🫱 Rock Paper Scissors Lizard Spark
- 🤑 Who Wants to Be a Millionaire
- ❓ Quiz Game