go back  What to code next?

Bite Level Description & Tags
Bite 1. Sum n numbers Beginner level Write a Python function that calculates the sum of a …
3.10 default args freebie None range sum
Bite 2. Regex Fun Advanced level Learn some Python regular expressions by completing the following three …
3.10 findall freebie re regular expressions
Bite 3. Word Values Intermediate level Find the dictionary word with the highest value using Scrabble rules. …
3.10 freebie max Scrabble sum
Bite 4. Top 10 PyBites tags Intermediate level In this Bite you will find the top ten tags …
3.10 Counter xml
Bite 5. Parse a list of names Beginner level In this Bite you will work with a list of …
3.10 freebie lambda list comprehensions min sorting
Bite 6. PyBites Die Hard Intermediate level Given a listing of files for our community branch, determine: …
3.10 Counter file processing generators namedtuple
Bite 7. Parsing dates from logs Intermediate level In this Bite we will look at this short server …
3.10 datetime file processing
Bite 8. Rotate string characters Beginner level Write a function that rotates characters in a string in …
3.10 deque slicing
Bite 9. Palindromes Intermediate level Write a function to determine if a word or phrase …
3.10 algorithms list comprehensions max reverse
Bite 10. Practice exceptions Intermediate level In this Bite you'll learn to catch and raise Python …
3.10 exception handling raise
Bite 11. Enrich a class with dunder methods Advanced level Let's enrich an Account class by adding dunder (aka special) …
3.10 dunder methods functools properties
Bite 12. Write a user validation function Intermediate level Create a function that takes a username and checks for …
3.10 classes exception handling namedtuple
Bite 13. Convert dict to namedtuple/json Intermediate level Write a function to convert the given blog dict to …
3.10 dict json namedtuple
Bite 14. Generate a table of n sequences Intermediate level Write a function that receives one or more sequences. The …
3.10 generators zip
Bite 15. Enumerate 2 sequences Beginner level Iterate over the given names and countries lists, printing them …
3.10 enumerate string formatting
Bite 16. PyBites date generator Beginner level Write a generator that returns every 100th day counting forward from …
3.10 datetime generators
Bite 17. Form teams from a group of friends Intermediate level Write a function called friends_teams that takes a list of …
3.10 itertools
Bite 18. Find the most common word Intermediate level Write a function that returns the most common (non stop)word …
3.10 Counter data analysis list comprehensions
Bite 19. Write a property Beginner level Write a simple Promo class. Its constructor receives two variables: …
3.10 datetime properties
Bite 20. Write a context manager Advanced level Write a context manager to roll back a transaction on …
3.10 context managers dunder methods operator overloading with statement
Bite 21. Query a nested data structure Beginner level Given the provided cars dictionary: Get all Jeeps Get the …
3.10 data structures dictionary comprehensions list comprehensions sorting
Bite 22. Write a decorator with argument Intermediate level Write a decorator called make_html that wraps text inside one …
3.10 decorators
Bite 23. Find words that are > 95% similar Advanced level Given a list of tags of our blog find the …
3.10 difflib file processing findall itertools SequenceMatcher
Bite 24. ABC's and class inheritance Advanced level ABC's or Abstract Base Classes are great to enforce a …
3.10 ABCs abstractmethod classes inheritance
Bite 25. No promo twice, keep state in a class Intermediate level In this bite a real world scenario: PyBites has a …
3.10 classes exception handling properties
Bite 26. Dictionary comprehensions are awesome Beginner level A dictionary comprehension is like a list comprehension, but it …
3.10 dictionary comprehensions
Bite 27. Parse omdb movie json data Intermediate level Working with APIs is very common these days and lucky …
3.10 APIs glob json movie data
Bite 28. Converting date strings to datetimes Intermediate level In this Bite you are provided with a list of …
3.10 Counter datetime findall
Bite 29. Martin's IQ test Beginner level Martin is preparing to pass an IQ test. The most …
3.10 enumerate string module
Bite 30. Movie data analysis Intermediate level In this Bite we are going to parse a csv …
3.10 data analysis defaultdict freebie mean movie data namedtuple sorting
Bite 31. Matrix multiplication / @ operator Advanced level Since 3.5 Python has a binary operator to be used …
3.10 dunder methods __matmul__ operator overloading
Bite 32. Don't let mutability fool you Beginner level In this Bite you are presented with a function that …
3.10 deepcopy mutability
Bite 33. Transpose a data structure Intermediate level Sometimes you need to restructure a nested data structure. For …
3.10 dict zip
Bite 34. Building a Karma app - implement the User class Advanced level This Bite is about implementing a User class that keeps …
3.10 classes dunder methods namedtuple operator overloading properties
Bite 35. Having fun with heapq Intermediate level In this Bite you are provided with 3 data structures: …
3.10 datetime heapq
Bite 36. Having fun with *args and **kwargs Intermediate level Write a function called get_profile that takes: a required name, …
3.10 args function arguments kwargs
Bite 37. Rewrite a for loop using recursion Beginner level Although you have to be careful using recursion it is …
3.10 recursion reverse
Bite 38. Using ElementTree to parse XML Beginner level In this Bite you will use ElementTree to parse some …
3.10 movie data xml
Bite 39. Calculate the total duration of a course Intermediate level In this Bite you read in a text file with …
3.10 datetime findall numbers timedelta
Bite 40. Write a binary search algorithm Advanced level There are many ways to search for an item in …
3.10 algorithms binary search
Bite 41. Write a login_required decorator Intermediate level If you worked with Flask or Django you must have …
3.10 decorators functools
Bite 42. Number Guessing Game Class Advanced level In this Bite you implement a Game class to perform …
3.10 classes games random
Bite 43. Force keyword arguments Beginner level Write a function called get_profile that only allows 2 keyword …
3.10 function arguments kwargs
Bite 44. License key generator Beginner level Write a function called gen_key that creates a license key …
3.10 list comprehensions secrets string module
Bite 45. Keep a queue of last n items Beginner level How about writing a queue that holds the last 5 …
3.10 deque
Bite 46. You are a programmer! Code Fizz Buzz Beginner level Here is a beginner Bite to write Fizz Buzz: Fizz …
3.10 fizzbuzz
Bite 47. Write a new password field validator Intermediate level You know these Create a new password forms? They do …
3.10 re string module
Bite 48. Make a bar chart of new Safari books Intermediate level Some time ago we made a little Slack bot to …
3.10 bar chart data analysis
Bite 49. Scrape Packt's html with BeautifulSoup Intermediate level In this Bite you will parse Packt's free learning ebook …
3.10 beautifulsoup namedtuple requests
Bite 50. Make a little PyBites search engine (feedparser) Advanced level Complete the program below to create a little search command …
3.10 any feedparser list comprehensions namedtuple search
Bite 51. When does Python 2 die on Planet Miller? Intermediate level Imagine you landed on Planet Miller (from the movie Interstellar) …
3.10 datetime
Bite 52. Create a movie quote API with Flask Advanced level In this Advanced Bite you will implement a full-blown CRUD …
3.10 APIs Flask movie data
Bite 53. Convert text into multiple columns Advanced level You run a news site and you got feedback that …
3.10 string manipulation
Bite 54. Nicer formatting of a poem or text Beginner level In this Bite you complete print_hanging_indents to print a poem …
3.10 string manipulation textwrap
Bite 55. Get the latest game releases from Steam's RSS feed Beginner level The Steam gaming platform has an RSS feed of their …
3.10 feedparser namedtuple
Bite 56. Add a command line interface to our BMI calculator Beginner level Complete create_parser below so that our BMI program can be …
3.10 argparse
Bite 57. Create a simple calculator that receives command line arguments Intermediate level In this Bite you write a simple calculator that can …
3.10 argparse functools reduce
Bite 58. Using argparse to interface with a grocery cart Advanced level Below is a Groceries class with add/delete/show/search methods. You as …
3.10 argparse
Bite 59. Create a multiplication table class of variable length Intermediate level Danny does not like rote learning (nor do we!). He …
3.10 classes dunder methods exception handling numbers
Bite 60. Create a deck of Uno cards Intermediate level In this Bite you will create a deck of Uno …
3.10 list list comprehensions namedtuple
Bite 61. Create a variable size Paw Patrol card deck with random actions Advanced level The Paw Patrol card deck consists of 32 cards ranging …
3.10 itertools namedtuple random string module
Bite 62. Data structures matter - speed up your Python code Intermediate level In this Bite we provide you with 5 functions which …
3.10 data structures performance
Bite 63. Use an infinite iterator to simulate a traffic light Advanced level Complete traffic_light using itertools.cycle to return an infinite iterator to …
3.10 iterators itertools namedtuple
Bite 64. Fix a truncating zip function Beginner level Bert is in charge of organizing an event and got …
3.10 itertools zip
Bite 65. Get all valid dictionary words for a draw of letters Intermediate level This Bite focusses on the use of itertools. To that …
3.10 itertools Scrabble set
Bite 66. Calculate the running average of a sequence Beginner level Write a function that takes a sequence of items and …
3.10 enumerate itertools mean
Bite 67. Working with datetimes Beginner level This Bite involves solving two problems using datetime: We kicked …
3.10 datetime timedelta
Bite 68. Remove punctuation characters from a string Beginner level Complete remove_punctuation which receives an input string and strips out …
3.10 string manipulation string module
Bite 69. Regex Fun - part II Advanced level It's time for another Regex one! (here is part I) …
3.10 re regular expressions
Bite 70. Create your own iterator Intermediate level In this Bite you make an iterator called EggCreator by …
iterators random
Bite 71. Keep state in a class + make its instance callable Intermediate level In this Bite you write a small class to keep …
3.10 classes dunder methods
Bite 72. Retrieve the right Ninja Belt based on score Intermediate level As you have probably seen on the dashboard you can …
3.10 itertools OrderedDict
Bite 73. Organize a meeting between timezones (pytz) Intermediate level Help PyBites community friends find a reasonable common time to …
3.10 pytz timezones
Bite 74. What day of the week were you born on? Beginner level Complete weekday_of_birth_date which takes a date object of a birthday …
3.10 calendar
Bite 75. Parse Unix cal to a weekday mapping Advanced level In the last bite we return the weekday from a …
3.10 re Unix zip
Bite 76. The singledispatch countdown challenge Advanced level We are stoked and grateful to have Martin have you …
3.10 decorators functools singledispatch
Bite 77. New places to travel to Beginner level You want to find people who have as much exposure …
3.10 set set operations
Bite 78. Find programmers with common languages Intermediate level Similar as last Bite we do another comparison of sequences …
3.10 set set operations
Bite 79. Parse a csv file and create a bar chart Intermediate level We played a bit with the Slack API today and …
3.10 bar chart community csv requests
Bite 80. Check equality of two lists Beginner level In this Bite we compare two list objects for equality, …
3.10 enum equality list
Bite 81. Filter and order tweets by polarity values Intermediate level In this Bite we collected some random tweets and populated …
3.10 namedtuple TextBlob Twitter
Bite 82. Define a Score Enum and customize it adding methods Intermediate level Starting Python 3.4 there is support for enumerations (not to …
3.10 classmethod enum __str__
Bite 83. At what time does PyBites live? Beginner level Get to know pytz! pytz brings the Olson tz database …
3.10 pytz timezones
Bite 84. Flatten lists recursively (Droste Bite) Intermediate level Complete flatten that takes a list of lists (which can …
3.10 list recursion
Bite 85. Write a score property Advanced level After Bite 19. Write a simple property let's write a …
3.10 classes properties
Bite 86. Create a RGB-to-Hex converter Intermediate level Designer Mary wants to convert her CSS from statements like …
3.10 string formatting
Bite 87. Convert Decimal to Roman Numerals Intermediate level Complete romanize that takes a decimal number and converts it …
3.10 numbers OrderedDict
Bite 88. Write a performance monitoring context manager Advanced level It's time for Context Managers part II. In Bite 20 …
3.10 context managers Counter
Bite 89. Playing with lists and dicts Intermediate level In this Bite you are presented with a us_state_abbrev dict …
3.10 data structures dict list
Bite 90. What South Park characters talk most? Intermediate level Did we already tell you we love the collections module? …
3.10 Counter csv data analysis defaultdict requests
Bite 91. Matching multiple strings Beginner level Catching up after #PyCon2018 ... in this Bite you do …
3.10 all any string matching
Bite 92. Humanize a datetime Intermediate level In this Bite you will convert a timedelta object into …
3.10 datetime namedtuple
Bite 93. Rock-paper-scissors and generator's send Advanced level Generators are cool right?! Did you know you can send …
3.10 coroutines games random
Bite 94. Parse PyCon talk data from YouTube Advanced level PyCon2018 was awesome! But you clearly had to choose the …
3.10 list comprehensions max namedtuple
Bite 95. Subclass the dict built-in Intermediate level In this Bite you will subclass the dict built-in to …
3.10 classes inheritance
Bite 96. Build Unix' wc program in Python Beginner level In this Bite you will convert Unix' wc command into …
3.10 file processing tempfile Unix
Bite 97. BeautifulSoup II - scrape US holidays Intermediate level In this Bite we use BeautifulSoup to scrape US holidays …
3.10 beautifulsoup defaultdict dict
Bite 98. Code your way out of a grid Advanced level Given a 2D grid of equal length x and y, …
3.10 looping namedtuple numbers tuple unpacking
Bite 99. Write an infinite sequence generator Intermediate level Write a generator that produces the sequence [1, 'A', 2, …
3.10 generators itertools string module zip
Bite 100. Display the last part of a file (Unix tail) Beginner level Complete the function below simulating Unix' tail, for example: $ …
3.10 file processing slicing strip Unix
Intro Bite 01. F-strings and a simple if/else Intro level Welcome to our Intro Bites, it's time to gauge where …
3.10 freebie f-strings if/else
Intro Bite 02. Infinite loop, input, continue and break Intro level In this Bite we'll get you to take user input …
3.10 break continue freebie input mock.patch while
Intro Bite 03. Loop through a dictionary and pluralise a word Intro level You're given a dictionary of people and the number of …
3.10 dict freebie looping
Intro Bite 04. Split and join Intro level Split up the message on newline (\n) using the split …
3.10 freebie join split
Intro Bite 05. Slice and dice Intro level Take the block of text provided and strip off the …
3.10 freebie replace slicing split string module strip
Intro Bite 06. Strip out vowels and count the number of replacements Intro level In this Bite we'd like you to loop over the …
3.10 counting freebie regular expressions replace string manipulation Zen of Python
Intro Bite 07. Filter numbers with a list comprehension Intro level Complete the function below that receives a list of numbers …
3.10 freebie list comprehensions modulo
Intro Bite 08. Loop over a dict of namedtuples calculating a total score Intro level In this Bite you calculate the total amount of points …
3.10 counting dict freebie namedtuple
Intro Bite 09. Workout dictionary lookups Intro level In this Bite you learn how to lookup values from …
3.10 dict exception handling format freebie string manipulation ternary
Intro Bite 10. Type conversion and exception handling Intro level In this Bite you complete the divide_numbers function that takes …
3.10 exception handling freebie raise type casting
Bite 111. Use the ipinfo API to lookup IP country Intermediate level In this Bite you will use the requests library to …
3.10 APIs json mock.patch requests
Bite 112. Social Media Username Validator Advanced level In this Bite you parse social_platforms below into a dict …
3.10 namedtuple range re regular expressions string manipulation string matching typing
Bite 113. Filter words with non-ascii characters Intermediate level In this Bite you extract words from a text that …
3.10 all ascii ord unicode
Bite 114. Implement a Color class with staticmethod Intermediate level As the new junior developer, you have been charged with …
3.10 hex __repr__ staticmethod __str__ string module
Bite 115. Count leading spaces Beginner level A small but interesting Bite: given a string with leading …
3.10 counting string matching
Bite 116. List and filter files in a directory Intermediate level In this Bite you complete get_files that receives a dirname …
3.10 generators glob os module
Bite 117. Round a number even (a.k.a. banker's rounding) Beginner level Bankers Rounding is an algorithm for rounding quantities to integers, …
3.10 Decimal rounding
Bite 118. List exercise: return first occurrence indices of duplicated words Intermediate level In this Bite you are presented with a list of …
3.10 counting list comprehensions set
Bite 119. Xmas tree generator Intermediate level In this Bite you complete generate_xmas_tree that takes a rows …
3.10 default args join range string formatting
Bite 120. Write a numbers validation decorator Intermediate level Let's get some more practice with decorators ... in this …
3.10 decorators
Bite 121. Determine the strength of a password Advanced level In this Bite you evaluate the strength of a password. …
3.10 re string matching
Bite 122. Check if two words are anagrams Intermediate level An anagram is a word or phrase formed by rearranging …
3.10 anagram string matching
Bite 123. Find the user with most friends Intermediate level In this Bite you are presented with a users dict …
3.10 defaultdict looping sorting tuples
Bite 124. Marvel data analysis Advanced level This is a simplified version of our Marvel Data Analysis …
3.10 Counter csv data analysis list comprehensions rounding sum
Bite 125. Get the most recommended books Intermediate level The Tim Ferriss Show is full of wisdom and inspiration. …
3.10 beautifulsoup Counter default args list comprehensions requests
Bite 126. The Emoji (Unicode) Bite Advanced level Python 3 supports Unicode so we can do cool stuff …
3.10 emojis sys unicode
Bite 127. Return the right ordinal suffix for a number Intermediate level In this Bite you complete a function that takes an …
3.10 dict modulo numbers string manipulation
Bite 128. Work with datetime's strptime and strftime Beginner level In this Bite you get some more practice with datetime's …
3.10 datetime strftime strptime
Bite 129. Analyze Stock Data Intermediate level In this Bite we will answer some questions about stocks, …
3.10 counting data analysis json requests sorting string manipulation
Bite 130. Analyze some basic Car Data Beginner level In this exercise you will analyze some basic car data. …
3.10 Counter data analysis list comprehensions set
Bite 131. Screen scraper Advanced level This is the output from using screenFetch on my junky …
3.10 dict index regular expressions slicing string manipulation
Bite 132. Find the word with the most vowels Intermediate level Finish the get_word_max_vowels function below that takes a text string …
3.10 counting lambda list comprehensions string matching
Bite 133. Convert an Amazon URL into an affiliation link Beginner level Can you help PyBites automate their Amazon affiliation link creation? …
3.10 regular expressions string manipulation
Bite 134. Two Sums Advanced level Given a random list of numbers, your task is to …
3.10 index looping sorting sum
Bite 135. Sort a list of book objects Intermediate level In this Bite you are going to look at a …
3.10 attrgetter datetime lambda list namedtuple operator sorting
Bite 136. Bloodtypes Beginner level Check red blood cell compatibility between donor and recipient. For …
3.10 enum exception handling multi type input
Bite 137. Gourmets' Nightmare Intermediate level Many gourmets struggle to find the perfect pairing of wines …
3.10 Counter intersection operator sorting
Bite 138. OOP fun at the Zoo Intermediate level Finish the Animal class below adding one or more class …
3.10 classes classmethod itertools __str__
Bite 139. Calculate a coding streak in days Advanced level In this Bite you are going to calculate the amount …
3.10 datetime string manipulation timedelta
Bite 140. PyBites First Pandas Bite Intermediate level This is a Pandas proof-of-concept Bite. We just added the …
3.10 csv data analysis pandas
Bite 141. Primitive date format inferrer Intermediate level Complete the get_dates method given the following: a listing of …
3.10 classmethod datetime enum exception handling
Bite 142. Exception Handling: Calculate the Winning Player Intermediate level Complete the two functions below: calculate_score takes a list of …
3.10 exception handling namedtuple numbers
Bite 143. Look up a value in 3 dictionaries Beginner level In this Bite you are presented with 3 dictionaries. Complete …
3.10 collections dict
Bite 144. Calculate the Number of Months Passed Intermediate level Some more fun working with dates! In this Bite you …
3.10 datetime dateutil exception handling
Bite 145. Record Breakers Advanced level The data for this challenge comes from a subset of …
3.10 csv data analysis pandas
Bite 146. Rhombus generator Intermediate level In this Bite you make a generator of rhombus shapes. …
3.10 format f-strings string formatting
Bite 147. 100 WEEKDays of Code Date Range Intermediate level Doing a #100DaysOfCode can be challenging, and some of it …
3.10 datetime dateutil
Bite 148. Print Car Data Grouped by Manufacturer Intermediate level In this Bite you are presented with a list of …
3.10 data structures itertools operator sorting
Bite 149. Sorting words with constraint Beginner level Here is a list of words Jacob is trying to …
3.10 lambda sorting string manipulation
Bite 150. Turn messy CSV into JSON Intermediate level At the 1 year mark of our platform here is …
3.10 csv json pandas re string manipulation
Bite 151. Contemporary Composers Intermediate level You are given a list of operas and a list …
3.10 datetime dict exception handling generators namedtuple
Bite 152. Manipulate string decorator Advanced level Write a decorator called strip_range that replaces characters with dots. …
3.10 decorators kwargs list string manipulation
Bite 153. Round a sequence of numbers Beginner level It's time to get mathematical! In this Bite we ask …
3.10 list comprehensions math rounding
Bite 154. Write your own Data Class Intermediate level As you might have noticed we are now on Python …
3.10 dataclasses data structures hashable sorting type hinting
Bite 155. Split a string by spaces or quoted text Intermediate level Another text manipulation Bite. Code split_words_and_quoted_text that takes a text …
3.10 split string manipulation
Bite 156. Make an index of story characters Intermediate level You know the index at the end of a book …
3.10 collections defaultdict enumerate sorting string matching
Bite 157. Filter out accented characters Intermediate level Another unicode Bite. Given some non-English text with accents (á, …
3.10 string matching unicode
Bite 158. Subclass the list built-in Advanced level In this Bite you will complete IntList, a subclass of …
3.10 dunder methods exception handling inheritance list mean median operator overloading properties statistics
Bite 159. Create a simple calculator Intermediate level In this Bite you will create a simple calculator. It …
3.10 exception handling numbers operator
Bite 160. 15-way Rock Paper Scissors Advanced level In this Bite you are going to write a 15-way …
3.10 csv dict exception handling games
Bite 161. Count the number of files and directories Beginner level Complete count_dirs_and_files traversing the passed in directory path. Return a …
3.10 counting directories files os module
Bite 162. Vertically align output of counters Intermediate level In this Bite you are tasked with "physically" aligning the …
3.10 string formatting
Bite 163. Which packages were upgraded? Intermediate level In this Bite you compare a list of packages (aka …
3.10 comparison dict numbers string manipulation
Bite 164. CLI tool: HTML link converter (stdin to stdout) Advanced level In this Bite you are going to help your team …
3.10 data wrangling exception handling html stdin string formatting string manipulation sys
Bite 165. Parse an /etc/passwd file output Beginner level The /etc/passwd file is a text-based database of information about …
3.10 split string manipulation tuple unpacking
Bite 168. Ninja Rankings Advanced level PyBites is starting a campaign to try and pair up …
3.10 bisect classes dataclasses dunder methods heapq tuples
Bite 166. Complete a tox ini file parser class Intermediate level The INI file format is an informal standard for configuration …
3.10 classes configparser properties string matching string parsing tox
Bite 167. Complete a User class: properties and representation dunder methods Beginner level In this Bite you are presented with another class, User …
3.10 classes dunder methods f-strings properties __repr__ __str__ string manipulation
Bite 169. Simple length converter Beginner level Your task is to complete the convert() function. It's purpose …
3.10 exception handling numbers rounding
Bite 174. String manipulation and metrics Advanced level This bite will get you to play around with creating …
3.10 Counter dataclasses list comprehensions properties string formatting string manipulation translate
Bite 170. Analyze McDonald's food data Advanced level In this Bite you are going to analyze some nutrition …
3.10 data analysis pandas
Bite 171. Make a terminal spinner animation Advanced level In this Bite you will spice up your command line …
3.10 command line itertools stdout sys time
Bite 172. Having fun with Python Partials Beginner level Meet another gem in the standard library: functools, which contains …
3.10 functools partial rounding
Bite 173. Set up future notifications Intermediate level Let's do another datetime processing Bite. Complete add_todo below that …
3.10 datetime findall f-strings timedelta
Bite 175. Find missing dates Intermediate level Complete get_misssing_dates that takes an (unordered) sequence of datetime.date objects. …
3.10 datetime dateutil pandas
Bite 176. Create a variable length chessboard Beginner level In this Bite you are going to print a chessboard …
3.10 modulo range stdout
Bite 177. Use Pandas to find most common genres in a movie excel sheet Advanced level Another pandas Bite: we took some fake movie data from …
3.10 data cleaning excel groupby movie data pandas
Bite 178. Parse PyBites blog git commit log Intermediate level In this Bite we want to figure out how active …
3.10 Counter data analysis datetime dateutil string parsing
Bite 179. Strip comments from Python code Advanced level In this Bite you will strip off all comments from …
3.10 comments regular expressions string parsing
Bite 180. Group names by country Beginner level In this Bite you are presented with a list of …
3.10 collections defaultdict groupby
Bite 181. Keep a list sorted upon insert Beginner level Complete the add method of the OrderedList class which takes …
3.10 bisect classes data structures __str__
Bite 182. Parse a bunch of quotes from HTML Intermediate level Let's get some inspiration. Below you find the simplified HTML …
3.10 dict regular expressions string manipulation string parsing
Bite 183. Analyze sales data with pandas Advanced level For this Bite we got some fake Excel sales data …
3.10 data analysis groupby pandas
Bite 184. Analyze some Bite stats data Intermediate level In this Bite we will look at some Bite stats …
3.10 Counter csv data analysis set
Bite 185. Create a simple spelling suggester Intermediate level In this Bite you will write a simple spelling corrector. …
3.10 difflib SequenceMatcher string matching
Bite 186. Calculate number of books to have read at date ... Intermediate level For this Bite you are asked to start working on …
3.10 datetime dateutil exception handling
Bite 187. Actor/actress age at movie release Intermediate level Ever wondered how old an actor/actress was in a particular …
3.10 dataclasses dateutil f-strings
Bite 188. Get statistics from PyBites test code Beginner level Did you know Python has a statistics module? For this …
3.10 data analysis file processing statistics
Bite 189. Filter a list of names Beginner level Here is a Bite to practice the continue and break …
3.10 break continue generators looping
Bite 192. Some logging practice Beginner level You are to flesh out the log_it() function so that …
3.10 callable logging
Bite 190. Parse income distribution from Latin America XML Intermediate level In this Bite you are going to parse some Latin …
3.10 data analysis defaultdict xml
Bite 191. Starwars character with highest BMI Intermediate level In this Bite you will parse a multiline string of …
3.10 max operator string manipulation tuple unpacking
Bite 193. Most upvoted StackOverflow Python questions Intermediate level In this Bite you parse a copy of StackOverflow Python …
3.10 beautifulsoup requests sorting string matching web scraping
Bite 194. Add caching to a Fibonacci function Intermediate level In this Bite you will learn about memoization: In computing, …
3.10 cache fibonacci functools performance
Bite 195. Analyze NBA Data with sqlite3 Intermediate level In this Bite you are going to use sqlite3! We …
3.10 data analysis databases SQL sqlite3
Bite 196. Create a JS-like dict object Advanced level In this Bite we challenge you to make a dict-like …
3.10 classes dict inheritance javascript
Bite 197. What date is Mother's Day celebrated? Intermediate level It's the 12th of May 2019 when we write this …
3.10 datetime dateutil
Bite 198. Calculate my Mac's longest uptime Advanced level Given the following output, calculate the longest uptime / time …
3.10 data wrangling datetime dateutil string parsing
Bite 199. Multiple inheritance (__mro__) Intermediate level Implement the following class structure: print(Child.__mro__): (<class '__main__.Child'>, <class '__main__.Father'>, …
3.10 classes inheritance __mro__ multiple inheritance
Bite 200. 🥳 Minecraft Enchantable Items Advanced level My kids love Minecraft and they always want me to …
3.10 beautifulsoup web scraping
Bite 201. Call a Cisco Nexus 9k device Intermediate level Cisco Nexus 9k devices is one of the first network …
3.10 networking requests
Newbie Bite 01. Assigning Objects Welcome to our Newbie Bites, it's time to learn the …
3.10 freebie newbie variables
Newbie Bite 02. Basic Data Types If you really think about it, there are multiple different …
3.10 data types freebie newbie
Newbie Bite 03. Basic Printing Before we dive too far into these objects, let's quickly …
3.10 freebie newbie print
Newbie Bite 04. Printing Objects Excellent! We know things! Now that we have data assigned …
3.10 newbie print
Newbie Bite 05. Basic Maths We're able to print integers. Now what? Yep, it's time …
3.10 math newbie
Newbie Bite 06. Additional Maths Let's quickly cover off the rest of the math operators. …
3.10 math newbie
Bite 202. Analyze some Bite stats data - part II Intermediate level In this Bite you will analyze complexity levels of our …
3.10 csv data analysis sorting
Bite 203. Type hinting practice Intermediate level It's time for some type hinting! For this bite, you …
3.10 classes dataclasses type hinting
Bite 204. Pomodoro with asyncio Advanced level This Bite explores asyncio and type-hinting. For this bite, you …
3.10 asyncio pomodoro
Bite 205. Female speakers @ Pycon US Intermediate level After our Code Challenge 62 / Alicante PyDay last week, …
3.10 beautifulsoup counting data wrangling gender_guesser
Bite 206. Calculate and evenly split the bill Intermediate level Three old friends Bob, Mary, and Alice meet at PyCon …
3.10 Decimal numbers rounding
Bite 207. Cached property decorator Advanced level Given the sample class Planet, computing the mass attribute of …
3.10 caching classes decorators properties
Bite 208. Find the number pairs summing up N Beginner level In this Bite you complete find_number_pairs which receives a list …
3.10 itertools looping numbers
Newbie Bite 07. User Input Quite often as you make scripts and applications you're going …
3.10 input newbie
Newbie Bite 08. String Manipulation There are times you'll need to manipulate the strings you've …
3.10 newbie string manipulation
Newbie Bite 09. Lists Next up on our Python journey we're going to dive …
3.10 list newbie
Newbie Bite 10. Returning items by list index Lists are pretty awesome (both in Python and in real …
3.10 list newbie
Newbie Bite 11. Adding and Removing items from a list Now that we have our list, what if we decide …
3.10 list newbie
Newbie Bite 12. Dicts It's time to dive into the next data structure in …
3.10 dict list newbie
Newbie Bite 13. Dict data retrieval methods Excellent! We know what a dict is and what it …
3.10 newbie
Newbie Bite 14. Functions Here we go, the big one. Functions! This is where …
3.10 functions newbie
Newbie Bite 15. Functions part II Functions can be kind of tricky to start off with …
3.10 functions newbie
Newbie Bite 16. Equals Operator In this quick bite we'll teach out about the equals …
3.10 equality newbie
Newbie Bite 17. If / else It's time to look at the amazing if statement! It's …
3.10 if/else newbie
Bite 209. Write a Sphinx docstring Beginner level Your team uses Sphinx and wants you to comply with …
3.10 data types docstring sphinx
Bite 210. Add Type Annotations Beginner level Continuing from where we left off in Bite 209, use …
3.10 annotations type hinting typing
Bite 211. Write a retry decorator Advanced level Write a retry decorator that retries executing the function it …
3.10 decorators exception handling
Bite 212. Suppressing exceptions Intermediate level Ever wanted to suppress an exception? Check out Python's contextlib …
3.10 context managers exception handling
Newbie Bite 18. Truthiness One of the things we often need to check when …
3.10 newbie truthiness
Bite 213. Code a translation fixer Advanced level Imagine you built PyBites' new translation feature. You managed to …
3.10 regular expressions
Newbie Bite 19. Less than and greater than We'll now take a look at usage of the "less …
3.10 comparison newbie
Newbie Bite 20. While loop The next challenge is to learn all about the while …
3.10 newbie while
Newbie Bite 21. Comments Time to look at one of the more useful aspects …
3.10 comments newbie
Bite 214. A countdown generator Beginner level Write a simple generator that counts from 100 to 1. …
3.10 generators
Bite 215. Validate a license key Beginner level Complete the validate_license function writing a regular expression that matches …
3.10 bool regular expressions
Newbie Bite 22. For loops It's time to move on to a slightly more complex …
3.10 looping newbie
Newbie Bite 23. Looping through a dict While we've explained how for loops work, it's worth diving …
3.10 dict newbie
Newbie Bite 24. Tuples One data type we've yet to cover is the tuple. …
3.10 newbie tuples
Newbie Bite 25. Calling a function The last Bite! Let's actually use what we've created by …
3.10 functions newbie
Bite 216. Parse an email header Advanced level Write a regular expression to extract 4 pieces of information …
3.10 regular expressions
Bite 217. Capture stdout Intermediate level Sometimes you need to capture stdout in your script. Python …
3.10 context managers StringIO
Bite 218. Create a sandwich decorator Beginner level After creating our Decorators and Context Managers learning path we …
3.10 decorators
Bite 219. Bite notification planner Intermediate level Another real world use case. When we added notifications to …
3.10 datetime generators
Bite 220. Analysing @pythonbytes RSS feed Advanced level Another feedparser exercise! In this Bite we're going to analyze …
3.10 classes Counter feedparser max min namedtuple regular expressions string matching type hinting
Bite 221. Parse best selling lists using the NY Times API Intermediate level In this Bite you are going to parse NY Times …
3.10 APIs json mock requests
Bite 222. Split an iterable in groups of size n Intermediate level In this Bite you will complete the group function that …
3.10 generators iterators itertools looping
Bite 223. Unix file permissions Intermediate level Each file and directory in Unix has its permissions broken …
3.10 dict list comprehensions string manipulation
Bite 224. Get sentences from a text Advanced level Here is another fun regex exercise for you: it's easy …
3.10 data wrangling regular expressions string manipulation
Bite 225. Swap case PyBites characters Beginner level In this Bite you will swap case all pybites characters …
3.10 looping string manipulation string parsing
Bite 226. Get top titles from news.python.sc Intermediate level There is a new Python news aggregator in town! Check …
3.10 beautifulsoup namedtuple news requests sorting string parsing web scraping
Bite 227. Convert Warcraft json data to csv Intermediate level In this Bite we are going to convert some Warcraft …
3.10 csv exception handling json
Bite 228. Create a Gravatar URL Intermediate level In this Bite you will generate a Gravatar URL, e.g. …
3.10 gravatar hashlib string formatting
Bite 229. Scrape best programming books Advanced level For this bite, you are going to scrape the books …
3.10 beautifulsoup books classes data cleaning data wrangling sorting web scraping
Bite 230. Thumbs up for operator overloading Intermediate level In this Bite we learn a bit of operator overloading. …
3.10 classes dunder methods emojis exception handling operator overloading
Bite 231. Where are the emojis? Beginner level In this Bite you are given a list of strings …
3.10 emojis list list comprehensions looping regular expressions
Bite 232. Analyze gold prices Intermediate level In this Bite you will analyze how the price of …
3.10 comparison data analysis looping pandas sorting string parsing
Bite 233. Make a zipfile of the latest log files Intermediate level You added some monitoring the other day writing log files …
3.10 datetime os module pathlib zipfile
Bite 234. Capitalize sentences Intermediate level In this Bite you are going to capitalize sentences in …
3.10 regular expressions string manipulation string matching string parsing
Bite 235. Which Bite has the fastest tests? Intermediate level In this Bite you will parse a pytest output summary, …
3.10 sorting string parsing type casting
Bite 236. User experience matters! Suggest matching files Intermediate level We love it when CLI or web apps take the …
3.10 difflib files pathlib
Bite 237. Get the dates Ninja belts were earned Advanced level Another real-world scenario: in this Bite you will parse a …
3.10 datetime json looping pandas sorting
Bite 238. Write tests for Fibonacci Beginner level Our first Test Bite! The concept is simple: to pass …
3.7 fibonacci freebie pytest
Bite 239. Test FizzBuzz Intermediate level In our second Test Bite you will write tests for …
3.7 fizzbuzz pytest
Bite 240. Write tests for an Account class Advanced level In our third Test Bite you will write tests for …
3.7 classes pytest
Bite 241. Write tests for list_to_decimal Beginner level Our 4th test Bite. Michael made a calculator that will …
3.7 exception handling freebie pytest
Bite 242. Zodiacal data parsing Advanced level In this Bite we will write tests for a module …
3.7 datetime fixtures pytest
Bite 243. Test code that parses JSON and IP ranges Intermediate level Another Test Bite, we ❤️them 😁- today you will write …
3.7 dataclasses ipaddress json pytest
Bite 244. Make mutpy's output more digestible Intermediate level Another real world scenario. When we started using MutPy for …
3.10 data wrangling looping mutpy string matching string parsing
Bite 245. Xmas Tree 2.0 Intermediate level In this Bite you have to complete generate_improved_xmas_tree that takes …
3.10 range string formatting
Bite 246. Test print / standard output Beginner level In this Bite you test a function that prints to …
3.7 capfd capsys list comprehensions pytest stdout
Bite 247. Mocking a standard library function Intermediate level In this Bite you will mock out a function of …
3.7 mock.patch pytest random
Bite 248. Test a number guessing game Advanced level In this Bite you test a simple number guessing game …
3.7 classes exception handling games mock.patch pytest
Bite 249. Test a movie DB class Advanced level Time for fixtures, one of pytest's killer features or as …
3.7 classes fixtures movie data pytest SQL sqlite3
Bite 250. PyBites URL Shortener Advanced level URL shortening is a technique on the World Wide Web …
3.10 decode dict encode string manipulation string module type hinting
Bite 251. Introducing Pandas Series Beginner level Let's get started with Pandas! In case you are not …
3.10 pandas series string module
Bite 252. Let's play with Pandas Series Beginner level In Bite 251 we looked at creating some simple pandas …
3.10 numpy pandas series slicing type hinting
Bite 253. More Pandas Series Practice Intermediate level In Bite 251 and Bite 252 we looked at creating …
3.10 math pandas series statistics
Bite 254. Global vs local variables Beginner level This Bite is to illustrate scoping. You will sum numbers …
3.10 global sum
Bite 255. Codon Usage Intermediate level The genetic code of all organisms uses a 3 base …
3.10 bioinformatics collections textwrap
Bite 256. Scrape PyCon events Intermediate level In this Bite, we want you to scrape PyCon 2019 …
3.10 beautifulsoup data analysis json namedtuple pycon requests web scraping
Bite 257. Extract users dict from a multiline string Beginner level A quick Bite to practice some string parsing extracting a …
3.10 dict string parsing
Bite 258. What the flux? Intermediate level One of the benefits of accounting is being able to …
3.10 finance math pandas
Bite 259. Reverse complement Intermediate level In the majority of organisms, the genetic code is encoded …
3.10 bioinformatics string manipulation translate
Bite 260. Let's play with Pandas DataFrames Advanced level To this point in the Pandas learning path we have …
3.10 dataframes pandas
Bite 261. Visit all PyCons in Europe Intermediate level In Bite 256 you scraped data on 2019 PyCons. Now …
3.10 data analysis dataclasses itertools math
Bite 262. GC content Beginner level The DNA of all organsims consists of the letters (bases) …
3.10 bioinformatics collections
Bite 263. Count the number of islands in a grid Intermediate level You are tasked with counting the amount of islands in …
3.10 algorithms looping string
Bite 264. Clamy Fernet Intermediate level In this bite, you are going to get familiar with …
3.8 cryptography dataclasses encode encryption fernet typing
Bite 265. Optimal fund raising Intermediate level Here is another classic algorithm problem wrapped in a Bite. …
3.10 algorithms looping math
Bite 266. Composition, Inheritance, Abstract Base Class, what? Advanced level It’s not as bad as that sounds, really. If you …
3.10 ABCs abstractmethod beautifulsoup composition dataclasses inheritance namedtuple string formatting typing urllib web scraping
Bite 267. Measure the size of an island Intermediate level In this algorithm Bite, the challenge is to measure the …
3.10 algorithms looping math
Bite 269. Taxable Income Calculator Advanced level I have no idea what rabbit hole I followed to …
3.10 classes dataclasses finance namedtuple properties typing
Bite 268. Number Transformers Advanced level Inspired by the movie Transformer, John decides to design a …
3.10 algorithms numbers
Bite 270. Most frequent digit in number Beginner level Given an integer number, find the most frequent digit in …
3.10 Counter counting numbers
Bite 271. Get all class names from a module Intermediate level In this Bite you will write a function to get …
3.10 inspect list comprehensions
Bite 272. Find common words Intermediate level Given two sentences that each contains words in case insensitive …
3.10 algorithms set operations string matching
Bite 273. Shortest path (Graph Bite) Advanced level Graph theory is popular in Math and Computer Science. A …
3.10 algorithms computer science graph
Bite 274. Number conversion problem Intermediate level Recursion in computer science is a method of solving a …
3.10 algorithms numbers recursion
Bite 275. Get the most common email domains Intermediate level In this Bite you will process a list of emails …
3.10 Counter requests set string parsing web scraping
Bite 276. Get Father's days by date and country Advanced level Happy belated Father's day (unless you are in Australia or …
3.10 dateutil string manipulation string parsing
Bite 277. Number of coin changes Advanced level Pat is going to apply for a cashier job in …
3.10 algorithms dynamic programming
Bite 278. Major and minor numbers Beginner level You are given a list of integers. Write code to …
3.10 collections max min numbers
Bite 279. Armstrong numbers Beginner level In number theory there are many interesting numbers - eg. …
3.10 algorithms numbers
Bite 280. Regular Expression Lookahead/Lookbehind Advanced level For this bite you are going to solve three different …
3.10 lookahead lookbehind regular expressions
Bite 281. Generating sales reports from Github data Advanced level In this bite you will learn how to process the …
3.8 data analysis pandas
Bite 282. Evaluate a Bridge hand Advanced level In this bite you will implement a BridgeHand class representing …
3.10 classes enum exception handling looping properties sorting
Bite 283. Like there's no tomorrow? Beginner level Ever have difficulty remembering what today's date is? How about …
3.10 datetime
Bite 284. Pascal triangle Intermediate level A Pascal triangle is a triangular array of integers constructed …
3.10 algorithms Pascal
Bite 285. Nested List Extraction Intermediate level Sometimes dealing with data can be a real struggle. Sometimes …
3.10 data structures string parsing
Bite 286. Decompress Intermediate level Write a function, called decompress(), that accepts a string and …
3.10 recursion string manipulation
Bite 287. Sum indices Intermediate level Write a function that accepts a list of strings and …
3.10 looping sum
Bite 288. Smallest number Beginner level Write a function that accepts a list of digits and …
3.10 numbers
Bite 289. Round to next number Beginner level Write a function that accepts a number and a multiple, …
3.10 math
Bite 290. Class Rosters Data Conversion Intermediate level You have been given a comma-delimited .csv file containing class …
3.10 csv string parsing tuple unpacking
Bite 291. Find the fastest speech Intermediate level In this Bite you will parse an SRT (SubRip Subtitle …
3.10 datetime sorting string manipulation
Bite 292. Scoring matrices Advanced level Proteins fulfill important functions in all organisms and consist of …
3.10 bioinformatics enumerate looping numbers zip
Bite 293. N digit numbers Beginner level Write a function that accepts a list of numbers and converts …
3.10 numbers
Bite 294. Bowling score Advanced level If you've never tried bowling, it's a fun game to …
3.10 games looping numbers
Bite 295. Join lists Beginner level Write a function that accepts a list of lists and …
3.10 iteration joining list
Bite 296. Jagged list Intermediate level Write a function that takes an irregular shaped list of …
3.10 iteration itertools list
Bite 297. Rename keys Advanced level The Data Processing Department was writing a script to import …
3.10 data cleaning dict iteration
Bite 298. Fasta to 2-Line Fasta Intermediate level A very simple format to store biological sequence data is …
3.8 bioinformatics biopython
Bite 299. Base converter Intermediate level For this challenge, you are going to have write a …
3.10 base exception handling
Bite 300. 🥳 PTO Calculator Advanced level We've all been affected by COVID-19 in one way or …
3.10 calendar datetime exception handling looping numbers string formatting
Bite 301. Exchange rates Intermediate level In this Bite you have to provide the currency exchange …
3.10 datetime dict sorting
Bite 302. Get and write all code from a JSON file Intermediate level You are given a sample JSON file containing, among other …
3.10 filecmp file processing json string manipulation
Bite 303. Unique genes Advanced level You have received a list of DNA sequences for a …
3.8 bioinformatics biopython
Bite 304. Most identical letters in a word Intermediate level In this Bite, you will write a function called max_letter_word() …
3.10 casefold Counter max string matching
Bite 305. Split once, delimit many Intermediate level Write a function that accepts a string and splits the …
3.10 looping split string parsing
Bite 306. Translate coding sequences to proteins Intermediate level Genes can be converted (translated) to proteins using a three base …
3.8 bioinformatics biopython
Bite 307. SQLite3 introduction Intermediate level In this Bite, you are going to get some practice …
3.10 databases SQL sqlite3
Bite 308. Calculate the median from a dictionary Intermediate level You are in charge of a program that continuously collects …
3.10 median sorting sum
Bite 309. A simple document class Intermediate level When we want to transform our data often, method chaining …
3.10 annotations classes method chaining properties string
Bite 310. Create file pairs Advanced level In this bite you will write a function that pairs …
3.10 bioinformatics files regular expressions
Bite 311. Cleaning text with pandas Intermediate level We recently published a blog post about how to approach …
3.8 data cleaning pandas TF-IDF
Bite 312. Scoring objects Intermediate level In this Bite you are going to score objects: Object …
3.10 builtins importlib keyword typing
Bite 313. Alternative constructors Intermediate level In this Bite your are provided with a Domain class …
3.10 classes classmethod
Bite 314. Print names to columns Beginner level In this Bite you will use the modulo operation. You …
3.10 f-strings modulo print
Bite 315. More logging practice Intermediate level In this Bite you will hone your logging skills by …
3.10 exception handling logging
Bite 316. To rent or to stream movies? Intermediate level You're on a movie budget so you want to evaluate …
3.10 collections datetime dict typing
Bite 317. Pickling objects Beginner level In this Bite you will load (deserialize) and dump (serialize) …
3.10 data wrangling pickle serialization
Bite 318. Decode base64 encoded data Beginner level In this Bite you are going to decode some Base64 …
3.10 base64 decode encode
Bite 319. Identity and equality Beginner level Identity and equality are two important concepts in Python. Please …
3.10 equality integer caching staticmethod
Bite 320. sortable dataclasses and enums Intermediate level Write an enum called BiteLevel and a dataclass called Bite …
3.10 dataclasses dunder methods enum sorting
Bite 321. Magic bytes Advanced level Magic numbers are bytes that can be used to uniquely …
3.10 bytes csv exception handling file processing images string parsing
Bite 346. Getting started with the IRIS data set Intermediate level You are getting started with machine learning (ML)! Are you …
3.8 data wrangling machine learning numpy pandas scikit-learn
Bite 322. Reading progress Beginner level Happy New Year! How many books do you aim to …
3.10 datetime numbers
Bite 323. Iterables intersection Beginner level In this bite we are going to work on coding …
3.10 functools set operations
Bite 324. Pretty string Beginner level Write a function that returns a neatly formatted string representation …
3.10 pprint
Bite 325. Floating point arithmetic Intermediate level This Bite introduces you to a few issues associated with …
3.10 arithmetic floats numbers rounding
Bite 326. Abstract Syntax Tree (AST) Printer Intermediate level In this Bite we familiarise with Abstract Syntax Trees (ASTs). …
3.10 AST
Bite 327. AST visitor Advanced level In Bite 312 we learned how to identify builtin functions, …
3.10 AST
Bite 328. Longest coding streak Advanced level What is your longest streak of completed Bites? In Bite …
3.10 fromordinal itertools timezones toordinal
Bite 329. Convert dict keys to snake case Advanced level In this Bite we will take a (nested) dict and …
3.10 algorithms recursion string manipulation
Bite 330. Simple Math Equation Solver Advanced level Your task is to write a simple math equation solver. …
3.10 exception handling itertools list operations math operator
Bite 331. Convolution in Neural Networks Advanced level Finally a Bite about deep learning! At least, about one …
3.10 deep learning numpy
Bite 332. Searching for an apartment Intermediate level Bill is looking for a new apartment with good view, …
3.10 algorithms
Bite 333. Metropolis–Hastings Algorithm Advanced level In statistics and statistical physics, the Metropolis–Hastings algorithm is a …
3.10 algorithms Markov chain Monte Carlo numpy statistics
Bite 334. Simple TCP client Intermediate level Your job is to write a simple TCP/IP client which …
3.10 client hashlib multiprocessing networking secrets socket TCP/IP
Bite 335. Async HTTP client Intermediate level Your task in this Bite is to create an http …
3.10 aiohttp asyncio client networking
Bite 336. FastAPI Hello World Beginner level Welcome to this FastAPI learning path. In the next 10 …
3.10 FastAPI freebie
Bite 337. A little detour: Pydantic Beginner level Pydantic is an awesome library to do data validation and …
3.10 FastAPI freebie Pydantic
Bite 338. Create food objects Intermediate level Now with the Pydantic Food model defined we can start …
3.10 FastAPI freebie
Bite 339. Retrieve food objects Intermediate level Now that our API can add food objects, let's retrieve …
3.10 FastAPI freebie
Bite 340. Update and delete food objects Intermediate level Now that we're able to create and retrieve Food objects, …
3.10 FastAPI freebie
Bite 341. Pydantic part II Intermediate level In order to measure daily food intake as a user …
3.10 FastAPI freebie Pydantic
Bite 342. Food logging CRUD Intermediate level In this Bite you will use the Pydantic FoodEntry model …
3.10 FastAPI freebie
Bite 343. FastAPI Exception handling Intermediate level In this Bite we'll take the API we built in …
3.10 FastAPI freebie
Bite 344. Return an HTML response Intermediate level You use FastAPI primarily to build APIs, but it can …
3.10 FastAPI freebie
Bite 345. FastAPI Authentication with JWT (JSON Web Tokens) Advanced level Up to this point anyone can modify food entries in …
3.10 FastAPI freebie
Bite 347. Which words can you type with one hand? Beginner level In this Bite you will write a function that takes …
3.10 comparison enum set
Bite 348. Citation indexes Intermediate level Academic research innovates by publishing papers, i.e., documents collecting ideas …
3.10 builtins exception handling typing
Bite 349. Writing better Spanish Intermediate level Bob is a lazy typer and often forgets to accentuate …
3.10 ascii dict unicode unicodedata
Bite 350. Learn to handle cron schedule expressions Advanced level Let your mind wander and tell us what you think …
3.10 crontab dataclasses datetime exception handling iteration
Bite 351. Get spelling suggestions Intermediate level Complete the get_spelling_suggestions() function that takes a word and returns …
3.10 comparison namedtuple TextBlob tuple unpacking typing
Bite 352. Hash SQL statements Intermediate level In this Bite you are going to implement a simple …
3.10 hashlib SQL
Bite 353. Transform a Script Into a Command Line Interface (CLI) Beginner level There are several Python frameworks to create CLIs, check out …
3.10 command line Typer
Bite 354. When to Use Command Line Option (CLI) Options and When CLI Arguments? Intermediate level In Typer, you can use either typer.Option or typer.Argument. Well, …
3.10 command line Typer
Bite 355. Create Your First Typer Command Line Interface (CLI) Application Beginner level In the previous Bites, you have successfully transformed an existing …
3.10 command line Typer
Bite 356. Using Typer Callbacks to Create Command Line Interface (CLI) Parameters Intermediate level In the previous Bite you have created your first simple …
3.10 command line Typer
Bite 357. Implement your First Subcommands and Command Groups Beginner level In the previous Bite, you learned how to create an …
3.10 command line Typer
Bite 358. Implementation of a Simple Typer Test Intermediate level In this Bite, you will create a simple Typer test …
3.7 command line pytest Typer
Bite 359. Implementation of a More Sophisticated Typer Tests Advanced level Building up on the previous Bite, you now have the …
3.7 command line Typer
Bite 360. Add a progress bar to Your Command Line Interface (CLI) Beginner level In this Bite, you will create a simplistic CLI application …
3.10 command line rich Typer
Bite 361. Rich Excursion - Create Beautiful Tables Intermediate level This will be a quick Bite showing you how to …
3.10 command line rich Typer
Bite 362. Add a Password Prompt to Your Command Line Interface (CLI) Intermediate level Let's get serious. Your Command Line Interface (CLI) works and …
3.10 command line Typer
Bite 363. Movie Theater (Refactoring) Intermediate level Refactor the code from invoice_to_be_refactored inside invoice_refactored and make it …
3.10 clean code refactoring
Bite 364. Create Wikipedia Lorem Ipsum text Intermediate level Lorem Ipsum is text used to demonstrate layout in documents …
3.10 beautifulsoup list comprehensions random regular expressions requests
Bite 365. Rolling two dice for an advantage Intermediate level Let's roll the dice! When playing a game where it …
3.10 itertools math mean
Bite 366. Goal Tracker Intermediate level In this Bite, you build a function that tells you …
3.10 date datetime tuple unpacking
Bite 367. Add Pi Day to the calendar Intermediate level Python has a brilliant but often overlooked module called calendar. …
3.10 calendar tuple unpacking
Bite 368. Hello Types Intermediate level Welcome to this type hinting learning path. In the Bites …
3.10 annotations type hinting
Bite 369. Advanced Type Hints Intermediate level In the previous Bite you have started annotating code with …
3.10 annotations type hinting
Bite 370. Getting started with vectors Intermediate level In the previous two Bites you have annotated small pieces …
3.10 annotations type hinting
Bite 371. Python3.9 - Dictionary Merge Beginner level Python 3.9 brought an exciting enhancement to the dict built-in …
dict Python3.9 union
Bite 372. Validate Pangram Beginner level A pangram, according to the Oxford English Dictionary, is a …
algorithms hashing string strings
Bite 373. Reverse only Letters Beginner level Given a string, reverse only the English letters (lowercase or …
queues stacks strings
Bite 374. Group Anagrams Intermediate level As defined by the OED, an anagram is a word, …
array defaultdict strings
Bite 375. Find All Letter Combinations of a Phone Number Intermediate level The typical phone keypad (pictured) features numbers (0 - 9), …
backtracking itertools strings
Bite 376. Art Thief Advanced level You are a professional art thief with a penchant for …
graph memoization recursion
Bite 377. Coins on the Table Intermediate level You start with 1,001 pennies lined up on a table. …
math
Bite 378. Organizational Chart Advanced level Of all the types of questions you are likely to …
binary tree depth-first search graph traversal
Bite 379. Hedge Maze Advanced level Imagine you're trapped in a mysterious maze, much like the …
breadth-first graph traversal maze
PCC Title Summary
01 Word Values Part I Our first weekly code challenge is to calculate the (language) dictionary word that would have the most value in Scrabble. Enjoy and let us know if you like this format.
02 Word Values Part II - A Simple Game Using what we've learned the last challenge this week we build a simple Scrabble-like game: given a random set of 7 letters build the most valuable word. Good luck!
03 PyBites Blog Tag Analysis Our new code challenge is up: PyBites blog tag analysis. This week you will parse our RSS feed looking for the most common tags and the ones we possibly should merge based on similarity ratio. Enjoy!
04 Twitter data analysis Part 1: Getting Data A new week, a new code challenge! In this 3 part challenge you will analyze Twitter Data. This week we will automate the retrieval of data. In Part 2 we will task you with finding similar tweeters, and for Part 3 you will do a full sentiment analysis.
05 Twitter data analysis Part 2: Similar Tweeters A new week, more coding! In Part 2 of our Twitter data analysis we challenge you to find out how similar two tweeters are ...
06 PyPI 100K Packages Prediction A new week, more coding! In this challenge you will make a prediction when PyPI will reach the 100.000 packages milestone.
07 Twitter Sentiment Analysis A new week, more coding! In this challenge you will do a sentiment analysis of a recently released movie, is it well received or not?
08 House Inventory Tracker A new week, more coding! In this challenge you will create an app to keep track of a house inventory.
09 The With Statement and Context Managers A new week, more coding! This week we have a free form exercise. This week you will implement your own Context Manager (= support with on your object).
10 Build a Hangman Game A new week, a new 'bite' of Python coding! This week we will build a Hangman game. Good luck and have fun.
11 Generators for Fun and Profit A new week, a new 'bite' of Python coding! After last week's article on generators we will get you to practice a bit more with them in our new challenge. Good luck and have fun.
12 Build a Tic-tac-toe Game Hi Pythonistas, a new week, a new 'bite' of Python coding! After last week's conceptual challenge (generators), we'd like to challenge you this week to build Tic-tac-toe. Every time we do games (previously Word Values and Hangman) we learn a lot. Enjoy and we review solutions end of this week.
13 Highest Rated Movie Directors Hi Pythonistas, a new week, a new 'bite' of Python coding! After last week's (tictactoe game), we'd like to sharpen your data analysis skills this week by parsing a movie data set in search for highest rated directors. Enjoy and we review solutions end of this week.
14 Write DRY Code With Decorators Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we let you practice with decorators, a nice way to abstract away common functionality. It allows you to alter the behavior of a callable without modifying the callable itself. We agree with Dan Bader that 'understanding decorators is a milestone for any serious Python programmer.' Enjoy!
15 Create a Simple Flask App Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we’re going to get down and dirty with Python Flask. Flask is becoming a hot skill to have up your sleeve. We’re all in with learning it so figure it’s about time we had a challenge on it! Enjoy!
16 Query Your Favorite API Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we'll let you play with Web APIs. They are fun to fiddle with and great for learning and building cool things. Enjoy!
17 Never Miss a Good Podcast Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we'll let you import a Podcast feed, store it in SQLite, and email unplayed episodes at a regular interval. Inspiration here. Enjoy!
18 Get Recommendations Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we'll do another API exercise: you will parse your Twitter feed searching for book / movie / music / you-name-it recommendations. Can you create a simple ParrotRead? Enjoy
19 Post to Your Favorite API Hi Pythonistas, a new week, a new 'bite' of Python coding! This week part 2 of APIs: post to your favorite API. Enjoy
20 Object Oriented Programming Fun Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will let you experiment with Object Oriented Programming, an important skill and fundamental building block of (everthing-is-an-object) Python. Enjoy!
21 Electricity Cost Calculation App Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will get you to create a simple app to calculate the monetary cost of using an electrical device. Enjoy!
22 Packt Free Ebook Web Scraper Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will do some web scraping of Packt's daily free ebook, sending out daily notifications. This week we even have a unique opportunity to sponsor the Python Community, read on ... and happy coding!
23 Challenge Estimated Time API Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we will give you the opportunity to enhance our challenge platform by creating a simple API to track how much time our challenges take (and possibly other metadata).
24 Use Dunder / Special Methods to Enrich a Class Hi Pythonistas, a new week, a new 'bite' of Python coding! We wrote an article for Dan Bader's Python blog: Enriching Your Python Classes With Dunder (Magic, Special) Methods. We hope you like it. To put dunders into practice we dedicate this week's code challenge to it.
25 Notification Service of Now Playing and Upcoming Movies Hi Pythonistas, a new week, a new 'bite' of Python coding! What movies are in theaters now or just came out on your favorite streaming service? What are upcoming movies, when will they be released? Can I keep track of all new humor movies? Or what about that specific actor or director? Having a notification service around movies seems an interesting, fun and useful code challenge to us.
26 Create a Simple Python GUI Hi Pythonistas, a new week, a new 'bite' of Python coding! Web apps tend to get all the love so it’s about time we shared the spotlight with GUIs. This week let’s take our first dive as a PyBites Community into Python GUIs!
27 PRAW: The Python Reddit API Wrapper Hi Pythonistas, a new week, a new 'bite' of Python coding! Love or hate Reddit, it has a lot of good data to work with. This week we have you write an app of your choice using the Reddit API. Have fun!
28 Integrate a Bokeh Chart Into Flask Hi Pythonistas, a new week, a new 'bite' of Python coding! We are delighted to have Michael Herman (Real Python) deliver this week's challenge. Prepare to learn some useful new skills and above all have fun!
29 Create a Simple Django App Hi Pythonistas, a new week, a new 'bite' of Python coding! We are 2 weeks into learning Django (our second 100 Days project) so we thought it's about time to dedicate a code challenge to it. So this week is all about coding (and deploying) a Django app. Have fun!
30 The Art of Refactoring: Improve Your Code Hi Pythonistas, a new week, a new 'bite' of Python coding. Wow challenge 30 already! This week we let you hone your refactoring skills. Learn, code, PR submit (don't be shy) and above all have fun!
31 Image Manipulation With Pillow Hi Pythonistas, a new week, a new 'bite' of Python coding. Let's shift gears a little bit: this week we have you choose an image manipulation task using Pillow, "the friendly PIL (Python Imaging Library) fork". Have fun!
32 Test a Simple Django App With Selenium Hi Pythonistas, a new week, a new 'bite' of Python goodness. As anticipated this week we dedicate a challenge to Selenium testing. We think this is a cool skill to add to your web dev + testing repertoire.
33 Build a Django Tracker, Weather or Review App Hi Pythonistas, a new week, a new 'bite' of Python programming. To keep it #100DaysOfDjango, this week we let you get some more practice with this awesome web framework. Last time we had an open Django challenge, for this one we have you choose between 3 specific apps.
34 Build a Simple API With Django REST Framework Hi Pythonistas, a new week, a new 'bite' of Python programming! We love Django (#100DaysOfDjango) and Web APIs. Django REST framework combines the two. "Now is better than never." - let's jump right in and let's use this week's code challenge to build a simple API. In this article some ideas what we can build and links to resources to get started. Have fun and don't forget to share (PR) your work, we can learn a lot from each other. Enjoy!
35 Improve Your Python Code With BetterCodeHub Hi Pythonistas, a new week, a new 'bite' of Python programming! Last week we wrote an article on improving the quality of your code with Better Code Hub. This week we let you refactor a Python project. You can even win awards thanks to SIG who is sponsoring this challenge!
36 Create an AWS Lambda Function Hi Pythonistas, a new week, a new 'bite' of Python coding! We are delighted to have Michael Herman (Real Python) back to deliver this week's challenge. Prepare to learn some useful new skills and above all have fun!
37 Automate a Task With Twilio Hi Pythonistas, this week we got a really cool challenge for you. Our Never Forget A Friend’s Birthday with Python, Flask and Twilio article got released on Twilio's blog and we thought it would be awesome to have you code up the next Twilio app. Join our challenge and if you build something serious you could even pitch it to Twilio!
38 Build Your Own Hacktoberfest Checker With Bottle Hi Pythonistas, Hacktoberfest started. Let's make open source better and track our progress with a little app you will build using the Bottle web framework.
39 Writing Tests With Pytest Hi Pythonistas, let's add some more challenges for October. Following our Python testing with pytest book review we let you write some tests with this awesome framework.
40 Daily Python Tip Part 1 - Make a Web App Hi Pythonistas, you heard of Daily Python Tip? It's a Twitter account that posts one python tip per day, run by @karlafej and @simecek. We partnered up with them and use their awesome collection of tips to build a web app (part 1) and a simple API (part 2).
41 Daily Python Tip Part 2 - Build an API Hi Pythonistas, you heard of Daily Python Tip? It's a Twitter account that posts one python tip per day, run by @karlafej and @simecek. We partnered up with them and use their awesome collection of tips to build a web app (part 1) and a simple API (part 2).
42 Mastering Regular Expressions Hi Pythonistas, it's beginning of the month so we're busy selecting some cool code challenges for you to work on to hone your Python skills. Regular Expressions was a long time coming so let's get it out there. We hope we hit a decent intermediate level with this challenge. If you have questions ask us in the comments or join our Slack.
43 Build a Chatbot Using Python Hi Pythonistas, it's incredible to think how quickly bots have grown in popularity. They're everywhere these days and will play an important role how we work and communicate in the near future! It's about time we go our bot on as well!
44 Marvel Data Analysis (Alicante PyChallengeDay) Hi Pythonistas, this is a very special edition! Today, the 10th of November, we launch our first Live Code Challenge. We partnered up with Python Alicante and we will be hosting this code challenge with them at the University of Alicante. If you don't happen to live in Alicante but do want to code today 10am-13pm CET you are more than welcome to join this Gitter channel.
45 TDD: Code FizzBuzz Writing Tests First! Hi Pythonistas, it’s time to do things differently! Test-Driven Development has to be one of the hardest programming methodologies to adopt yet also one of the most satisfying. It forces a different mindset which is definitely not for everyone. Either way, put your thinking caps on and jump in!
46 Add Continuous Integration (CI) to Your Project Hi Pythonistas, becoming a Python developer is partly about knowing your tools. Managing your environment, testing and continuous integration are unmissable skills when you start working on bigger projects with a team. So we decided to dedicate a code challenge to deployment. Take an existing projects or make a demo app from scratch, the goal is to build an automated pipeline. Will you be the next guy or girl at work receiving kudos for setting up a Jenkins server? Have fun!
47 PyBites First Year in Data (Special) Hi Pythonistas, can you believe it’s been a full year of PyBites already?! To commemorate our 1st birthday we figured the next challenge should be around… us!
48 Create a Python News Digest Tool Hi Pythonistas, welcome to a new year of challenges. Are you as amazed as we are by all the awesome Python stuff that comes out every week? But then you feel you always are behind because you lack the time to keep up? Welcome to daily reality. In this challenge we have you contribute to our community with tools to improve our weekly delivery of Python News. Be creative, have fun!
49 Contribute to Open Source: Clean up Planet Python Hi Pythonistas, it has been silent on the Community Blog challenges front, but then again we completed the 100 Days of Code in Python course which was a great milestone. Although less frequent, we will however, keep doing blog challenges so not to worry! Let's start with a long pending item: cleaning up Python planets feeds, an interesting and valuable open source contribution.
50 Use Celery to Offload an Expensive Task Hi Pythonistas, back-to-back with our Planet Python challenge 49 here is our special Easter Challenge #50 where you will use Celery to offload a simplified Easter ecard mailer app.
51 Analyse NBA Data with SQL/sqlite3 Hi Pythonistas, Welcome to Pybites Code Challenge 51! In this challenge we get you analysing NBA player data from a CSV file.
52 Create your own Pomodoro Timer Hi Pythonistas, Welcome to Pybites Code Challenge 52! In this challenge we get you create your very own Pomodoro Timer!
53 Query the Spotify API Hi Pythonistas, Welcome to Pybites Code Challenge 53! In this challenge we get you query the Spotify API and perform a set of tasks.
54 Python Clipboard History Hi Pythonistas, Welcome to Pybites Code Challenge 54! In this challenge we're asking that you create your own Clipboard History tool!
55 #100DaysOfCode Curriculum Generator Hi Pythonistas, Welcome to Pybites Code Challenge 55! In this challenge we're asking that you create your own #100DaysOfCode Curriculum Generator.
56 Calculate the Duration of a Directory of Audio Files Hi Pythonistas, Welcome to Pybites Code Challenge 56! In this challenge we're asking you to work with directory, files and audio meta data!
57 Analyze Olympic Games Data With Pandas Hey Pythonistas, a new week, a new Python code challenge! This week you can use Python, Pandas and all the libraries you need to analyze the data of Olympic Games and find out interesting things and present them to everyone with Matpolib, Seaborn and/or Plotly.
58 Analyze Podcast Transcripts with NLTK - Part I Hi Pythonistas, Welcome to Pybites Code Challenge 58! In this two part challenge we're going to do some natural language processing on podcast transcript data. Prepare to have fun expanding your data science skills!
59 Analyze Podcast Transcripts with NLTK - Part II Hey Pythonistas, in this challenge you will expand on the work of PCC58, doing some natural language processing (NLP) on the podcast transcript data you collected. Have fun!
60 Working With PDF Files in Python Hey Pythonistas, in this challenge you will learn how to work with PDF documents. Enjoy!
61 Build a URL Shortener Hey Pythonistas, in this challenge you will build an URL shortener. Enjoy!
62 Women @ Pycon ES Hey Pythonistas, in this special live Alicante PyDay challenge you will analyze Pycon speaker data, do we see more women going on stage? Enjoy!
63 Automatically Generate Blog Featured Images Hey Pythonistas, in this new blog code challenge you are going to use selenium to automatically generate some cool featured images for PyBites. Have fun!
64 PyCon ES 2019 Marvel Challenge Hey Pythonistas, this weekend is Pycon ES and in the unlikely event you get bored, you can always do some coding with PyBites. Two more good reasons to do so: 1. there are prizes / give aways, 2. your PRs count towards Hacktoberfest (t-shirt). Fire up your editors and let's get coding!