user100DaysOfCode
CommunityDevTermsResources|Login

Loading

Python Roadmap

Join the 100 day Python coding challenge. Master Python with daily challenges, projects, and expert guidance.
Start coding today!

Day 1: Hello, World!
Day 2: Variables
Day 3: Input and Output
Day 4: Basic Operators and Expressions
Day 5: Conditional Statements and Loops
Day 6: Functions and Code Reusability
Day 7: Lists and Tuples
Day 8: Sets and Dictionary
Day 9: Random number generator
Day 10: For-loop
Day 11: While-loop
Day 12: Odd-even
Day 13: Largest of three numbers.
Day 14: Leap Year
Day 15: Factorial
Day 16: Palindrome String
Day 17: Number of vowels in a string
Day 18: List Sum
Day 19: Maximum in List
Day 20: Fibonacci sequence
Day 21: Reverse List
Day 22: List duplicates
Day 23: List intersection
Day 24: Words to sentence.
Day 25: Words frequency
Day 26: Anagram strings
Day 27: Longest word
Day 28: Reverse words
Day 29: Words frequency
Day 30: Sort a list
Day 31: Merge dictionaries.
Day 32: File operations: Read
Day 33: File operations: Write
Day 34: File operations: Append
Day 35: File operations
Day 36: Handle Exceptions I
Day 37: Handle Exceptions II
Day 38: Custom Exceptions
Day 39: Class Object
Day 40: Class hierarchy
Day 41: Inheritance
Day 42: Class methods
Day 43: Encapsulation
Day 44: Class definition
Day 45: Polymorphism
Day 46: Class decorators
Day 47: Stacks
Day 48: Queues
Day 49: Binary Search Tree
Day 50: Linked List
Day 51: Graphs
Day 52: Hash Table
Day 53: Set Operations
Day 54: List comprehensions
Day 55: Iterable class.
Day 56: Sorting algorithms
Day 57: Search algorithms
Day 58: Depth-first search (DFS) algorithm
Day 59: Breadth-first search (BFS) algorithm
Day 60: Tower of Hanoi
Day 61: Dynamic Programming
Day 62: Web server
Day 63: CRUD application
Day 64: User authentication
Day 65: RESTful API framework
Day 66: External API call
Day 67: Pandas
Day 68: Matplotlib
Day 69: Statistical analysis
Day 70: Numerical computing
Day 71: Interactive data visualizations
Day 72: Machine learning model
Day 73: Neural network
Day 74: Natural language processing
Day 75: Recommendation system
Day 76: Chatbot
Day 77: Automation script
Day 78: Download Files
Day 79: Automate emails
Day 80: Web scraping
Day 81: Tasks Scheduler
Day 82: Implement Tic-Tac-Toe
Day 83: Command-line tool
Day 84: GUI using Tkinter
Day 85: Text-based RPG game.
Day 86: Raspberry Pi project
Day 87: Web crawler
Day 88: Chat application
Day 89: Generate fractals
Day 90: Concurrency and parallelism
Day 91: Data science
Day 92: Design patterns
Day 93: Code Optimization
Day 94: Decorators and descriptors
Day 95: Metaclasses
Day 96: Python's standard library modules
Day 97: Memory management and garbage collection
Day 98: C API
Day 99: Open-source contribution
Day 100: Portfolio

Join the 100 day Python coding challenge. Master Python with daily challenges, projects, and expert guidance.
Start coding today!

Day 1 - Hello, World!

1. Write a program that prints "Hello, World!" to the console
2. Add single-line and multi-line comments to your code

Reading List:
1. How does Python compile and run the code?
2. Learn the difference between Python and Java
3. Difference between Compiler and Interpreter
Basic Syntax and Concepts

Day 2 - Variables

Create the following variables of different types and print them.
  • name: String
  • age: Integer
  • height: Floating-point number
  • is_student: Boolean
  • email: None (representing a null value)
  • siblings: List
  • address: Dictionary containing street and city


Reading List:
1. Learn the terms: initialization, declaration and assignment of variables
2. Learn the difference between Dynamically typed and Statically typed variables

Basic Syntax and Concepts

Day 3 - Input and Output

Basic Input and Output:
Write a program that reads a single input from the user and prints it to the console. For example, if the user enters their name, the program should output: ""Hello, {name}""

Handling Different Data Types:
Extend the program to read and print different types of inputs. Ensure the inputs are properly converted to their respective types and then printed. The program should ask the user to enter:

  • A string
  • An integer
  • A floating-point number


Reading List:
1. Explore various methods for reading different type of inputs
2. Learn about formatting options such as precision, alignment, and decimal places to present output in a clear and concise manner

Basic Syntax and Concepts

Day 4 - Basic Operators and Expressions

Arithmetic Operators
Write a program to perform the following arithmetic operations using two numbers:
  • Addition (+)
  • Subtraction (-)
  • Multiplication (*)
  • Division (/)
  • Floor Division (//)
  • Modulus (%)
  • Exponentiation (**)


Relational Operators
Write a program to compare two numbers using the following operators:
  • Equal to (==)
  • Not equal to (!=)
  • Greater than (>)
  • Less than (<)
  • Greater than or equal to (>=)
  • Less than or equal to (<=)


Logical Operators
Write a program that evaluates the following between 2 booleans(True or False):
  • Logical AND (and)
  • Logical OR (or)
  • Logical NOT (not)
Basic Syntax and Concepts

Day 5 - Conditional Statements and Loops

If-else Statements
  • Write a program that takes an integer as input and checks if it's even or odd.
  • Write a program that takes an age as input and determines if the person is a child, teenager, adult, or senior citizen.

Nested If-else Statements
  • Using nested if-else, write a program that takes three numbers as input and determines the largest among them.

For Loop
  • Write a program to calculate the sum of all numbers up to the given input number.

While Loop
  • Write a program to calculate the factorial of a given number.
Basic Syntax and Concepts

Day 6 - Functions and Code Reusability

Functions are reusable blocks of code that make programs easier to read, debug, and maintain. Learn how to define, call, and use functions effectively.

Simple Function
Define and call a simple function greet_user which takes name as a parameter. The function should print 'Hello, name' to the console.

Default and Keyword Arguments
Update the greet_user function by adding a default value 'Guest' for the name parameter. When the function is called without an argument it should print 'Hello, Guest' to the console.

Function with Return Values
Write a function that calculates and returns the area of a rectangle. The function should take length and breadth as the arguments.

Variable Scope
To understand the difference between local and global variables, follow these steps:
1. Define a global variable and print its value.
2. Write a function and assign a new value to the same varible inside the function and then print it.
3. Print the variable again outside the function again to observe that its value didn't change.
4. Write another function that access the global variable using the global keyword and then update its value.
5. Print the variable again outside the function. Verify that it's value now got updated.

You'll notice that in step 3, whatever changes made inside the function in step 2 are not reflected but in step 5 when you use the global keyword the variable value gets updated. This shows how the global keyword is used to modify global variables from within a function.
Basic Syntax and Concepts

Day 7 - Lists and Tuples

Lists

Lists are one of the most commonly used data structures in Python. They are ordered and mutable, which means you can change their content after creation. Lists can store any type of data - strings, numbers, or even other lists. This makes them powerful and flexible for a wide range of tasks.

  • Create a List: Start by creating a list with 5 elements. These could be fruits, numbers, or a mix of data types.
  • Access Elements: Use both positive and negative indices to retrieve items from the list.
  • Modify the List: Learn how to append, insert, remove, or update elements using built-in methods.
  • Slice the List: Use slicing to create sublists by selecting a specific range of elements.
  • Iterate Through the List: Use loops (like for or while) to go through each item and perform operations on them.

Tuples

Tuples are also ordered collections, just like lists, but with one key difference - they are immutable. Once a tuple is created, you can't change its content. Tuples are ideal when you want to store data that should not be altered, like coordinates, configuration settings, or fixed values.

  • Create a Tuple: Define a tuple containing different types of data, such as strings, numbers, or booleans.
  • Access Elements: Retrieve elements using index positions, just like you would with a list.
  • Tuple Operations: Perform operations like concatenation (+) and repetition (*), or check membership with in.
  • Convert to a List: If you need to modify the tuple, convert it into a list, make the changes, and convert it back if needed.
Basic Syntax and Concepts

Day 8 - Sets and Dictionary

Sets

Sets are unordered collections of unique elements. They are useful when you want to eliminate duplicates and perform common set operations like union, intersection, and difference. Since sets are unordered, items do not have a fixed position and cannot be accessed using an index.

  • Create a Set: Define a set with multiple elements, including duplicates, and observe how duplicates are automatically removed.
  • Add and Remove Items: Use add() to insert elements and remove() or discard() to delete them.
  • Set Operations: Learn how to perform mathematical set operations like union(), intersection(), and difference().
  • Loop Through a Set: Use a loop to iterate over the elements in a set.

Dictionary

Dictionaries are unordered collections of key-value pairs. They allow you to associate a unique key with a value, making them ideal for looking up data efficiently. Keys must be unique and immutable, while values can be of any type.

  • Create a Dictionary: Define a dictionary with keys and corresponding values (e.g., name-age pairs).
  • Access Values: Use a key to retrieve the associated value using square brackets or the get() method.
  • Update and Add Items: Modify existing key-value pairs or add new ones.
  • Remove Items: Use methods like pop() or del to remove entries from the dictionary.
  • Loop Through a Dictionary: Iterate through keys, values, or both using a for loop with .items(), .keys(), or .values().
Basic Syntax and Concepts

Day 9 - Random number generator

1. Write a program that generates a random number. 2. Write a program that generates random number between 2 integers
Basic Syntax and Concepts

Day 10 - For-loop

Use a for loop to print numbers from 1 to 10.
Basic Syntax and Concepts

Day 11 - While-loop

This content is locked. Please login to view it
Basic Syntax and Concepts

Day 12 - Odd-even

This content is locked. Please login to view it
Conditional Statements and Functions

Day 13 - Largest of three numbers.

This content is locked. Please login to view it
Conditional Statements and Functions

Day 14 - Leap Year

This content is locked. Please login to view it
Conditional Statements and Functions

Day 15 - Factorial

This content is locked. Please login to view it
Conditional Statements and Functions

Day 16 - Palindrome String

This content is locked. Please login to view it
Conditional Statements and Functions

Day 17 - Number of vowels in a string

This content is locked. Please login to view it
Conditional Statements and Functions

Day 18 - List Sum

This content is locked. Please login to view it
Conditional Statements and Functions

Day 19 - Maximum in List

This content is locked. Please login to view it
Conditional Statements and Functions

Day 20 - Fibonacci sequence

This content is locked. Please login to view it
Conditional Statements and Functions

Day 21 - Reverse List

This content is locked. Please login to view it
Conditional Statements and Functions

Day 22 - List duplicates

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 23 - List intersection

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 24 - Words to sentence.

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 25 - Words frequency

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 26 - Anagram strings

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 27 - Longest word

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 28 - Reverse words

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 29 - Words frequency

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 30 - Sort a list

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 31 - Merge dictionaries.

This content is locked. Please login to view it
Lists, Strings, and Dictionaries

Day 32 - File operations: Read

This content is locked. Please login to view it
File Handling and Exception Handling

Day 33 - File operations: Write

This content is locked. Please login to view it
File Handling and Exception Handling

Day 34 - File operations: Append

This content is locked. Please login to view it
File Handling and Exception Handling

Day 35 - File operations

This content is locked. Please login to view it
File Handling and Exception Handling

Day 36 - Handle Exceptions I

This content is locked. Please login to view it
File Handling and Exception Handling

Day 37 - Handle Exceptions II

This content is locked. Please login to view it
File Handling and Exception Handling

Day 38 - Custom Exceptions

This content is locked. Please login to view it
File Handling and Exception Handling

Day 39 - Class Object

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 40 - Class hierarchy

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 41 - Inheritance

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 42 - Class methods

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 43 - Encapsulation

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 44 - Class definition

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 45 - Polymorphism

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 46 - Class decorators

This content is locked. Please login to view it
Object-Oriented Programming (OOP)

Day 47 - Stacks

This content is locked. Please login to view it
Advanced Data Structures

Day 48 - Queues

This content is locked. Please login to view it
Advanced Data Structures

Day 49 - Binary Search Tree

This content is locked. Please login to view it
Advanced Data Structures

Day 50 - Linked List

This content is locked. Please login to view it
Advanced Data Structures

Day 51 - Graphs

This content is locked. Please login to view it
Advanced Data Structures

Day 52 - Hash Table

This content is locked. Please login to view it
Advanced Data Structures

Day 53 - Set Operations

This content is locked. Please login to view it
Advanced Data Structures

Day 54 - List comprehensions

This content is locked. Please login to view it
Advanced Data Structures

Day 55 - Iterable class.

This content is locked. Please login to view it
Advanced Data Structures

Day 56 - Sorting algorithms

This content is locked. Please login to view it
Advanced Algorithms

Day 57 - Search algorithms

This content is locked. Please login to view it
Advanced Algorithms

Day 58 - Depth-first search (DFS) algorithm

This content is locked. Please login to view it
Advanced Algorithms

Day 59 - Breadth-first search (BFS) algorithm

This content is locked. Please login to view it
Advanced Algorithms

Day 60 - Tower of Hanoi

This content is locked. Please login to view it
Advanced Algorithms

Day 61 - Dynamic Programming

This content is locked. Please login to view it
Advanced Algorithms

Day 62 - Web server

This content is locked. Please login to view it
Web Development with Python

Day 63 - CRUD application

This content is locked. Please login to view it
Web Development with Python

Day 64 - User authentication

This content is locked. Please login to view it
Web Development with Python

Day 65 - RESTful API framework

This content is locked. Please login to view it
Web Development with Python

Day 66 - External API call

This content is locked. Please login to view it
Web Development with Python

Day 67 - Pandas

This content is locked. Please login to view it
Data Analysis and Visualization

Day 68 - Matplotlib

This content is locked. Please login to view it
Data Analysis and Visualization

Day 69 - Statistical analysis

This content is locked. Please login to view it
Data Analysis and Visualization

Day 70 - Numerical computing

This content is locked. Please login to view it
Data Analysis and Visualization

Day 71 - Interactive data visualizations

This content is locked. Please login to view it
Data Analysis and Visualization

Day 72 - Machine learning model

This content is locked. Please login to view it
Machine Learning and AI

Day 73 - Neural network

This content is locked. Please login to view it
Machine Learning and AI

Day 74 - Natural language processing

This content is locked. Please login to view it
Machine Learning and AI

Day 75 - Recommendation system

This content is locked. Please login to view it
Machine Learning and AI

Day 76 - Chatbot

This content is locked. Please login to view it
Machine Learning and AI

Day 77 - Automation script

This content is locked. Please login to view it
Automation and Scripting

Day 78 - Download Files

This content is locked. Please login to view it
Automation and Scripting

Day 79 - Automate emails

This content is locked. Please login to view it
Automation and Scripting

Day 80 - Web scraping

This content is locked. Please login to view it
Automation and Scripting

Day 81 - Tasks Scheduler

This content is locked. Please login to view it
Automation and Scripting

Day 82 - Implement Tic-Tac-Toe

This content is locked. Please login to view it
Miscellaneous Challenges

Day 83 - Command-line tool

This content is locked. Please login to view it
Miscellaneous Challenges

Day 84 - GUI using Tkinter

This content is locked. Please login to view it
Miscellaneous Challenges

Day 85 - Text-based RPG game.

This content is locked. Please login to view it
Miscellaneous Challenges

Day 86 - Raspberry Pi project

This content is locked. Please login to view it
Miscellaneous Challenges

Day 87 - Web crawler

This content is locked. Please login to view it
Miscellaneous Challenges

Day 88 - Chat application

This content is locked. Please login to view it
Miscellaneous Challenges

Day 89 - Generate fractals

This content is locked. Please login to view it
Miscellaneous Challenges

Day 90 - Concurrency and parallelism

This content is locked. Please login to view it
Advanced Topics

Day 91 - Data science

This content is locked. Please login to view it
Advanced Topics

Day 92 - Design patterns

This content is locked. Please login to view it
Advanced Topics

Day 93 - Code Optimization

This content is locked. Please login to view it
Advanced Topics

Day 94 - Decorators and descriptors

This content is locked. Please login to view it
Advanced Topics

Day 95 - Metaclasses

This content is locked. Please login to view it
Advanced Topics

Day 96 - Python's standard library modules

This content is locked. Please login to view it
Advanced Topics

Day 97 - Memory management and garbage collection

This content is locked. Please login to view it
Advanced Topics

Day 98 - C API

This content is locked. Please login to view it
Advanced Topics

Day 99 - Open-source contribution

This content is locked. Please login to view it
Advanced Topics

Day 100 - Portfolio

This content is locked. Please login to view it
Advanced Topics

      Sponsor Us|Community|Blog|YoutubeCareersContact UsDisclaimerPrivacy PolicyTerms of Service
      Have Feedback or want to contribute? Email: hello[@]100DaysOfCode.io
      100DaysOfCode@2024