
Join the 25-day Python challenge to learn Python and build your own real world projects, starting from zero, with installation guidance for Python and a code editor.
Download and install PyCharm, then create a new Python project named First project with a selected Python version, and run a hello Python script to verify the setup.
Offer optional homework and assignments to maximize learning. Complete project tasks, recognize that any question has been solved with one Google search away, and progress faster in Python.
The resources that you will need in this course.
Practice writing precise Python syntax by using the correct print function with parentheses, avoiding curly brackets, and running code efficiently via keyboard shortcuts in PyCharm.
Learn how variables in Python assign values to names, reuse them, and update in one place, and print statements when needed, using snake_case and avoiding invalid names and reserved keywords.
Learn how f-strings embed variables in curly braces within a string prefixed with f to format output with multiple variables, reducing messy concatenation.
Learn to build a Python temperature converter with constants and an offset, convert Celsius to Fahrenheit and back, format results with f-strings, and structure code for readability.
Learn how type hints, or type annotations, in Python—a dynamically typed language—are optional tools to catch mistakes and guide editors and type checkers.
Explore Python's core data types, including strings, integers, floats, complex numbers, booleans, and none. Examine lists, tuples, sets, frozen sets, and dictionaries, plus an optional value.
Learn how floats in Python represent decimal numbers, how they interact with integers, and common precision issues that rounding solves, including using round and underscores for readability.
Explore the string type, mastering quotes and escaping with backslashes. Concatenate with plus or implicit concatenation, and use triple quotes for multi-line strings.
Build a Python tax calculator that reads yearly income and tax rate as floats via input, computes tax, and formats results with dividers and currency formatting.
Explore Python lists as collection types, create integer and string lists, and use append, extend, remove, pop, and insert with type hints and mypy for static checking.
Explore Python tuples as immutable, ordered collections defined by the comma rather than parentheses; use type annotations, indexing, and concatenation, and create empty or single-element tuples.
Explore Python sets: unordered, unique elements; learn creating empty and nonempty sets, adding and removing items, and performing union, intersection, difference, and symmetric difference with in-place updates.
Learn about Python's none type, how it represents no value, its use with optional types, and basic control flow handling when a value is none. Examples with dict.get and if-else.
Build a Mad Libs style story in Python by prompting the user for adjectives, nouns, and verbs, then print a playful tale formed with f-strings and triple quotes.
Explore Python's arithmetic operators for basic calculations, using integers and floats with addition, subtraction, multiplication, and division, then exponentiation, modulus, and floor division.
Master in-place assignment with equals and augmented operators in Python. Explore plus equals, minus equals, and in-place operations for sets and dictionaries.
Explore Python comparison operators, including ==, !=, >, <, >=, <=, with integers and floats, and learn operator chaining and how PyCharm simplifies it.
Explore Python identity operators is and is not, test object identity versus value, using lists A and B; contrast with the is equals to operator to avoid confusion.
Learn how Python's membership operators check for values in lists, dictionaries, sets, and strings, including keys, values, substrings, and case sensitivity.
Build a rock, paper, scissors game in Python using random, emoji symbols, and input handling, with win, lose, and tie logic, plus a forever loop option.
Learn Python control flow with if, elif, and else by checking age and name and printing access messages. Understand indentation as blocks and the use of multiple elifs, with optional else.
Master the if else shorthand in Python with single-line conditionals, including age and parity examples, while prioritizing readability over excessive compactness.
Learn Python looping with for loops and while loops, iterate a list of people and print a hello greeting, then use range to run times and underscore indicates unused values.
Explore the while loop with practical examples: counting down from three, monitoring a connection, and echoing user input, including infinite loop risks and how to exit.
Learn how break and continue control Python loops. The lecture demonstrates exiting a while true loop with break, skipping iterations with continue, and using both in for and while loops.
Learn how Python for and while loops use an else block that runs only after a full iteration without a break, including zero iterations or an empty list.
Learn how to create reusable code in Python by defining functions with def, calling them, and avoiding duplication to simplify for loops and improve reliability.
Explain how the pass keyword acts as a placeholder in Python to do nothing, with examples in functions and if-else blocks, including a connected boolean and restart modem print.
Learn how to design flexible functions with parameters and arguments, add default values, use keyword arguments, and understand inlay hints to improve readability and reuse.
Learn how to use the return keyword to obtain values from functions, specify return types with arrow notation, and handle optional or none results in Python.
Create a basic Python chat bot by building a contains helper, a response function, and a loop that prompts user input, returning greetings, time, or farewell messages based on keywords.
Explore Python's args and kwargs by showing how to pass unlimited arguments with *args and convert keyword arguments into a dictionary with **kwargs, including unpacking and safe access.
Explore Python's function parameter syntax, using slash for positional-only arguments and asterisk for keyword-only arguments, to control how callers supply A and B and maintain backwards compatibility.
build a print clone in python using any type, with caps and include types options, test with custom prints, and explore extra features like counting elements.
Master error handling in Python by validating user input and converting strings to integers to safely add two numbers, preventing crashes and ensuring a robust user experience.
Learn how the finally block in Python executes code after try and except blocks, enabling cleanup, preventing a memory leak and data loss during file handling.
Raise errors on purpose in Python to enforce validation, prevent negative ages, and enforce password length using value errors or generic exceptions.
Learn how to handle unexpected errors in Python using a generic exception, balancing development testing with production stability, and log issues for developers to fix.
Develop a Python number guessing game called Guess That Number using final constants and random to generate 0–100, with a bot message helper and input validation.
learn how to use modules in python by importing the built-in math module, accessing functions with dot notation, aliasing, and selective imports.
create a custom formatter.py module with a title formatter and a version constant, and use the if __name__ == '__main__' guard to run test code only when executed directly.
Learn how to install external Python packages with pip, install and use faker to generate fake data, and explore trusted sources like PyPI while reading documentation to avoid malicious code.
Welcome to the 25-day Python challenge! The perfect course for any inspiring dev who wants to work as a dev in the era of AI.
What is this course?
This course is designed to teach you everything you need to know to start building your very own Python projects from scratch. By following the structure of this course one day at a time, you’ll gain a strong understanding of Python’s core features and learn how to apply them to real-world problems.
How does it work?
Each day introduces a new concepts, building upon what you’ve already learned. You’ll start with the basics (variables, data types, and functions) and gradually move into more advanced topics like object-oriented programming, file handling, and asynchronous code. The lessons are short, practical, and designed for hands-on learning, so you can immediately put your new skills into action.
It's my first time programming...
No worries! This course was designed to be as beginner friendly as possible to help you get started in the world of programming. We will start with all the basics and slowly build are way up to the more advanced concepts. You will be able to start coding your own projects in no time!
Is Python a good first language?
Absolutely. Not only is it one of the most popular languages in the world, but it's also one of the easiest to learn thanks to its easy-to-use syntax and setup!