Skip to main content
Mentr by Paprly

Learn Python by building.The language behind AI, data and the apps you use.

Two free tracks: Beginner from your first line of code, and Intermediate for placements and internships. Browser compiler, instant practice, no card.

Beginner
10 lessons
Intermediate
12 lessons
Practice
500+ checks
Price
₹0 forever
BEGINNER
INTERMEDIATE
ADVANCED
python quiz.py
PYTHON QUIZ Question 1: What does print() do?> display textCorrect! Question 2: Which symbol compares two values?> ==Correct! Your score: 8/10Excellent work!$ 

↑ Beginner capstone (Lesson 10). Intermediate ships a JSON expense tracker.

Choose a path

Beginner or Intermediate — both live

Same browser compiler and lesson loop. Beginner is open to everyone. Intermediate unlocks after a short test or Beginner Lesson 9.

Beginner

Live
BEGINNER

Python Beginner

10 lessons · ~8 hr · certificate

From your first print() to a working quiz game. No coding background needed.

  • print, variables and data types
  • input and calculations
  • if / elif / else and logic
  • for and while loops

Build a complete mini quiz game on your own

Syllabus

Free forever · certificate when you finish all lessons and the Final Challenge.

Intermediate

Live
INTERMEDIATE

Python Intermediate

12 lessons · job & internship · capstone

Job-ready Python: specs, dicts, parsing, errors, JSON, OOP and shipping — with practice every step.

  • problem-solving workflow & edge cases
  • dictionaries, sets and parsing strings
  • functions, errors and JSON data
  • stdlib tools, classes and simple tests

Ship a small tool you can show in an internship interview

Unlock with Test to Intermediate or Beginner Lesson 9.

Python Advanced — coming soon · Intermediate locked until test or Lesson 9

In short

Mentr Learn Python is hands-on, not video-heavy: Beginner (10 lessons to a quiz-game project + certificate) and Intermediate (12 job-focused lessons — dicts, JSON, OOP, shipping). Unlock Intermediate with Test to Intermediate or after Beginner Lesson 9. Free compiler, ₹0.

01 / A new way

You don’t need another 60-hour Python course.

Most beginners buy a long video course, watch a few hours and quietly stop. Nobody learns to code by watching. You learn by writing code, getting it wrong and fixing it.

Mentr gives you two live paths — Beginner (10 lessons to a quiz game + certificate) and Intermediate (12 job-focused lessons + capstone). Same loop: short lessons, instant checks and a compiler in your browser. No paid program, nothing to install.

The usual way

Mentr Learn Python

A 60-hour video course you half-watch at 2× speed

About 8 hours of short lessons where you do something every minute

₹3,000 to ₹50,000 for a paid program or bootcamp

No fee, no trial, nothing locked behind a paywall

Long documentation written for working engineers

Plain English and real-world examples, one idea at a time

Install Python and set up an editor before line one

Code runs in your browser, even on a phone

Nobody checks your work until the exam

Every answer is checked instantly, with a hint when you're wrong

A researched path, not a playlist

01

Predict, then run

You guess what code will do before you see it. Wrong guesses are where the learning happens.

02

Worked examples first

You watch a program get built line by line, then build one yourself. Beginners learn faster this way than from a blank page.

03

Quick checks, often

A question after every idea, not one big test at the end. Recalling something is what makes it stick.

04

Small wins, every day

XP for every right answer, badges and a daily streak keep you coming back for ten minutes a day.

02 / What you get

Everything you need for Beginner and Intermediate, in one place.

500+ auto-checked exercises, an in-browser Python compiler, 22 lessons with notes and runnable examples — shared across both tracks, built for first-time coders and placement prep, on any laptop or phone.

500+

Auto-checked exercises

Beginner practice bank plus checks in every Intermediate lesson — multiple choice, predict output, fix the bug, fill the blank, order lines and write code. All instant.

Py3

In-browser compiler

One compiler for both tracks. Write and run any Python program in your browser; type input() answers in the console like a real terminal. Nothing to install.

22

Lessons with notes

10 Beginner + 12 Intermediate slide decks — diagrams, tables, tips and flashcards. Same Study → Examples → Practice loop on each path.

Live

Runnable examples

Step through code line by line in every lesson on Beginner and Intermediate. See variables change, then edit and run yourself.

2

Capstone projects

Beginner: a quiz game you build with hints. Intermediate: a JSON expense tracker you can walk through in an internship interview.

50

Levels, badges, streak

XP from both tracks feeds one profile — climb 50 levels, unlock 10 badges and keep a daily streak.

In-browser Python compiler

Write any program. Press Run. It works, even on your phone.

Real Python 3 for Beginner lessons, Intermediate capstone work and anything you write on your own. When your program uses input(), you type answers in the output like a real terminal. Errors point to the line and explain the fix in plain English.

mentr python compiler
▶ Run main.py What is your name? AaravHow old are you? 12Hi Aarav! Next year you will be 13. finished in 4 ms$ 

03 / Compare

How is this different from other ways to learn Python?

It’s not a video loop, and it’s not a paid program. Here’s how Mentr Learn Python compares with the usual options, row by row.

Mentr Learn Python compared with other ways to learn Python
FeatureThis courseMentr Learn PythonYouTube video coursesPaid video coursesCoding classesDocs & tutorial sites
PriceNo fee, everything includedFree, with adsPaid course feeHigh fee, often monthlyFree
Time to learn the basics~8 hr Beginner · 12-lesson Intermediate path10–60 hours of video20–60+ hours of videoMonths of fixed classesNo clear path
How you learnYou do: predict, fix and write codeYou watchYou watch and copyGroup pace, set by the classYou read long pages
Practice with instant feedback500+ questions, checked instantlyNoneA few quizzesHomework, checked laterRarely
Write and run codeBuilt-in compiler, nothing to installInstall Python yourselfUsually install yourselfOn the class computerSome have a try-it box
Works on a phoneYes, including the compilerWatch onlyWatch onlyNoReading only
When you're stuckHints, error line highlighted, plain-English fixScroll the commentsPost in a Q&A forumWait for the next classSearch on your own
Made for beginnersYes — college students, career switchers, Class 6+MixedMostly for adultsDepends on the classWritten for developers
Progress you can seeXP, levels, badges and a verifiable certificateNoneProgress bar, certificateTeacher feedbackNone

← Swipe to see all columns

Compares typical formats, not specific brands. Prices and course lengths vary.

Pick Beginner or Intermediate — same tools, same compiler.

Compare both tracks

04 / The basics

What is Python?

Python is a programming language — a way to give a computer instructions it can follow. It’s known for being easy to read, which is why it’s the most popular first language for beginners.

You write a line like print("Hello"), run it, and the computer shows Hello. Every app, game and website is made of instructions like this — just many more of them.

What can you make with Python?

Games and quizzes

Score counters, guessing games, quiz apps — the kind of thing you build in this course.

Websites and apps

Parts of apps you use every day, like YouTube and Instagram, run on Python.

Data and AI

Most AI and machine learning tools are built with Python. So is a lot of science research.

05 / Why Python

Why learn Python first?

Because it’s the easiest real programming language to start with. Python code is short and reads almost like English. Here’s the same program — show the word Hello — in Java and in Python.

Java · 5 lines

Main.java
1public class Main {2    public static void main(String[] args) {3        System.out.println("Hello");4    }5}

Five lines, and a lot of extra words, before anything shows on screen.

Python · 1 line

main.py
1print("Hello")

One line. You can read it out loud and know exactly what it does.

01

It’s easy to read

if score >= 50: print("Passed") reads almost like English. You spend your time thinking about the problem, not fighting with symbols.

02

It’s taught in school

CBSE Computer Science and Informatics Practices in Class 11 and 12 use Python. Learning it now gives you a head start.

03

It’s used for real work

Websites, apps, games, data analysis and AI tools are all built with Python. It’s not a toy language.

04

It makes other languages easier

Loops, lists and functions work the same way in Java, C++ and JavaScript. Learn them once in Python and the next language is much easier.

06 / Inside a lesson

How does each lesson work?

Every Beginner and Intermediate lesson uses the same steps, so you always know what comes next. Practice ends with real code — not just multiple choice.

  1. Step 1

    Learn

    A new idea, explained with an everyday example.

  2. Step 2

    Understand

    Read a short piece of code and guess what it will do.

  3. Step 3

    Guided example

    Build a small program step by step, with help.

  4. Step 4

    Practice

    Quick questions with instant feedback: predict, fix and write code.

  5. Step 5

    Mini challenge

    Write a small program on your own to finish the lesson.

07 / Syllabus

Python Beginner syllabus

New to coding? Start here. Ten lessons to your first full project. Already comfortable? Use the Test to Intermediate and jump to Intermediate.

01Welcome to PythonGiving instructions to a computer

A robot does nothing until it gets exact instructions, in the right order. Python is a way to write those instructions.

Concepts

  • What programming is
  • What Python is and where it’s used
  • How a computer follows instructions
  • print() and text (strings)
  • Comments with #
  • Order of execution

Practice set

  1. 1.Predict the output
  2. 2.Choose the correct print()
  3. 3.Find the missing line
  4. 4.Rearrange instructions
  5. 5.Multiple choice
  6. 6.Write your own introduction

Watch out

Text needs quotes. print(Hello) is an error; print("Hello") works.

By the end

Write and run a multi-line program and explain the order it runs in.

Guided build · My Introduction

lesson_01.py
1# This is my first program2print("My name is Aarav")3print("I am 12 years old")4print("I love games")

Predict before you run

print("A")
print("B")
print("C")

Which letter appears first?

Show answer

A. Python runs a program from the top line down, one line at a time.

Mini challenge

Introduce yourself in at least four lines.

02VariablesGiving information a name

A variable is a labelled box. In score = 100, score is the label on the box and 100 is what’s inside.

Concepts

  • Creating a variable
  • Naming rules
  • Changing a value
  • str, int, float, bool
  • Checking with type()

Practice set

  1. 1.Spot the variable and the value
  2. 2.Name the data type
  3. 3.Predict output
  4. 4.Fix invalid variable names
  5. 5.Change variable values
  6. 6.Multiple choice

Watch out

Names can’t start with a number or contain spaces. player_score works; 2score and player score don’t.

By the end

Store text, whole numbers, decimals and True/False, and tell the four types apart.

Guided build · Player Profile

lesson_02.py
1name = "Aarav"2age = 123height = 5.44is_student = True56print(name, age, height, is_student)

Predict before you run

score = 10
score = 20
print(score)

What gets printed?

Show answer

20. A variable holds only its latest value; the 10 is replaced.

Mini challenge

A game player profile with name, age, score and favourite game.

03Input & CalculationsMaking programs interactive

Until now the program knew everything in advance. With input(), the person at the keyboard gets to answer.

Concepts

  • input() and prompts
  • Why input arrives as text
  • Converting with int() and float()
  • + - * /
  • % for remainders

Practice set

  1. 1.Predict calculations
  2. 2.Choose the correct operator
  3. 3.Convert input correctly
  4. 4.Fix broken programs
  5. 5.Complete calculator code
  6. 6.Multiple choice

Watch out

% gives the remainder, not a percentage. number % 2 == 0 means the number is even.

By the end

Ask for values, convert them, and calculate with all five operators.

Guided build · Simple Calculator

lesson_03.py
1num1 = int(input("First number: "))2num2 = int(input("Second number: "))34print(num1 + num2)5print(num1 - num2)6print(num1 * num2)

Predict before you run

age = input("Age: ")
print(age + 1)

Why does this crash?

Show answer

input() always returns text, and text can’t be added to a number. int(input("Age: ")) fixes it.

Mini challenge

A bill calculator: enter price and quantity, print the total.

04Making Decisions with ifPrograms that choose

If it’s raining, take an umbrella. Otherwise, don’t. Programs make decisions the same way, one condition at a time.

Concepts

  • Why programs need decisions
  • if and else
  • elif for more than two paths
  • == != > < >= <=
  • Indentation marks the block

Practice set

  1. 1.Which branch runs?
  2. 2.Complete the condition
  3. 3.Find the wrong operator
  4. 4.Predict output
  5. 5.Multiple choice
  6. 6.Turn a real rule into an if

Watch out

= stores a value; == compares two values. Mixing them up is the most common bug in this lesson.

By the end

Write if / elif / else using all six comparison operators.

Guided build · Game Entry Checker

lesson_04.py
1age = int(input("Enter your age: "))23if age >= 10:4    print("You can play!")5else:6    print("You cannot play yet.")

Predict before you run

score = 72

if score >= 90:
    print("Excellent")
elif score >= 70:
    print("Good")
else:
    print("Try again")

Which word is printed?

Show answer

Good. Python checks from the top and stops at the first condition that is true.

Mini challenge

A grade checker: marks in, grade out.

05Thinking with LogicCombining conditions

You can enter the competition if you’re at least 10 and you scored at least 50. Both have to be true. This lesson is less new syntax, more thinking.

Concepts

  • and, or, not
  • True and False as values
  • Combining comparisons
  • Nested if, used sparingly

Practice set

  1. 1.True or false challenges
  2. 2.Choose and vs or
  3. 3.Predict output
  4. 4.Complete conditions
  5. 5.Convert rules into code
  6. 6.Debug logic errors

Watch out

Nesting works, but two levels is usually the limit. A single and often reads more clearly.

By the end

Combine conditions with and, or and not, and decide when nesting helps.

Guided build · Competition Eligibility

lesson_05.py
1age = int(input("Age: "))2score = int(input("Score: "))34if age >= 10 and score >= 50:5    print("Eligible")6else:7    print("Not eligible")

Predict before you run

A = True
B = False

print(A and B)
print(A or B)
print(not A)

What are the three results?

Show answer

False, True, False. and needs both; or needs one; not flips the value.

Mini challenge

A game unlock: enough points and the right level opens the next stage.

06LoopsMaking computers repeat work

Typing print("Hello") five times is fine. Then someone asks for five hundred.

Concepts

  • Why loops exist
  • for and range()
  • range(5) vs range(1, 6)
  • The loop variable
  • while loops
  • Avoiding infinite loops

Practice set

  1. 1.Predict loop output
  2. 2.Count backwards
  3. 3.Fill in missing loop code
  4. 4.Make number patterns
  5. 5.Find the infinite loop
  6. 6.Multiple choice

Watch out

A while loop needs something inside it to change, or it never stops.

By the end

Repeat work with for and range(), and write a while loop that ends.

Guided build · Multiplication Table

lesson_06.py
1number = int(input("Enter a number: "))23for i in range(1, 11):4    print(number, "x", i, "=", number * i)

Predict before you run

for i in range(1, 4):
    print(i)

What gets printed?

Show answer

1, 2, 3. range stops just before the end number.

Mini challenge

A countdown: 5, 4, 3, 2, 1, GO!

07StringsWorking with text

To Python, the word "Python" is six characters standing in a row, numbered from 0.

Concepts

  • Indexing from 0
  • len()
  • .upper() and .lower()
  • .strip()
  • .replace()
  • Joining text

Practice set

  1. 1.Predict string output
  2. 2.Find the character at a position
  3. 3.Work out the length
  4. 4.Fix string operations
  5. 5.Transform text
  6. 6.Multiple choice

Watch out

Index and length are different. The last letter of a 6-letter word is at index 5, not 6.

By the end

Read, measure and change text with indexing and string methods.

Guided build · Username Generator

lesson_07.py
1first = input("First name: ")2last = input("Last name: ")3number = input("Favourite number: ")45username = first.lower() + last[0].lower() + number6print(username)

Predict before you run

name = "Python"
print(name[0])
print(len(name))

What two values are printed?

Show answer

P and 6. Counting starts at 0, but len() counts every character.

Mini challenge

A secret message transformer that changes a message in several steps.

08ListsWorking with many values

fruit1, fruit2 and fruit3 work for three fruits. A list keeps all of them under one name, in order.

Concepts

  • Why lists exist
  • Creating a list
  • Indexing and changing items
  • append() and remove()
  • len() on a list
  • Looping through a list

Practice set

  1. 1.Identify indexes
  2. 2.Predict output
  3. 3.Add and remove items
  4. 4.Fix list errors
  5. 5.Loop through a list
  6. 6.Put operations in order

Watch out

On a 3-item list, games[3] is an error. The last item is games[2].

By the end

Create a list, change it, and loop through every item.

Guided build · Favourite Games

lesson_08.py
1games = ["Minecraft", "Chess", "Roblox"]2games.append("Football")3games.remove("Chess")45for game in games:6    print(game)

Predict before you run

games = ["Minecraft", "Chess"]
games.append("Roblox")
print(len(games))

What gets printed?

Show answer

3. append() adds one item to the end.

Mini challenge

A shopping list program: start with items, add one, remove one, print all.

09FunctionsCreating your own commands

Writing the same lines again and again? Give them a name, then call the name.

Concepts

  • Why functions exist
  • def and calling
  • Parameters and arguments
  • return
  • Reusing code

Practice set

  1. 1.Label the parts of a function
  2. 2.Call functions
  3. 3.Fill in parameters
  4. 4.Predict returned values
  5. 5.Fix broken functions
  6. 6.Write small functions

Watch out

print() shows a value on screen. return hands it back so the rest of the program can use it.

By the end

Write functions with parameters and return values, and reuse them.

Guided build · Score Calculator

lesson_09.py
1def calculate_score(correct, total):2    return correct * 100 / total34result = calculate_score(8, 10)5print(result)

Predict before you run

def add(a, b):
    return a + b

print(add(5, 3))

What gets printed?

Show answer

8. 5 and 3 go in, add() returns their sum.

Mini challenge

Write greet(), calculate_total() and check_score(), then use all three in one program.

10Final ChallengeBuild a mini quiz game

No video this time. A problem, a blank file, and five hints if you need them.

Concepts

  • Variables and input
  • Strings and conditions
  • Loops and lists
  • Functions
  • Planning before coding

The program must

  1. 1.Welcome the player
  2. 2.Ask several questions
  3. 3.Accept answers
  4. 4.Check whether each answer is correct
  5. 5.Keep a score
  6. 6.Show the final score
  7. 7.Give a result based on the score

Watch out

Get one question working first, then add the loop.

By the end

Plan and build a complete program from a blank file.

Starter structure · Mini Quiz Game

lesson_10.py
1questions = ["What does print() do?", "Comparison symbol?"]2answers = ["display text", "=="]3score = 045for i in range(len(questions)):6    reply = input(questions[i] + " ")7    if reply == answers[i]:8        score = score + 1

Your task

Finish the game with your own questions and a final result message.

All 10 lessons are open. Start with Lesson 1 today.

08 / Syllabus

Python Intermediate syllabus

For placements and internships. Twelve lessons on problem-solving, data in Python, JSON, OOP and shipping — same Study → Examples → Practice loop as Beginner. Test to Intermediate or finish Beginner through Functions to unlock.

01How developers solve problemsTickets, acceptance tests, and code review

Ship like an intern: read the ticket, build a test matrix, then write pure functions that pass QA.

Concepts

  • Ticket & acceptance criteria
  • Test matrix before code
  • Case study: VitalTrack VTL-142
  • Boundary bugs (>= vs >)
  • Table-driven self-tests
  • Definition of done checklist

Practice set

  1. 1.SDLC & tickets
  2. 2.Operators & boundaries
  3. 3.Elif tier traps
  4. 4.VTL-142 matrix capstone
  5. 5.GRD-08 & letter grades
  6. 6.11 quiz + code drills

Watch out

Skipping the test matrix is why 38.0 and 35.0 silently ship wrong in reviews.

By the end

Deliver ticket VTL-142: spec → matrix → classify_temp → green self-test run.

Guided build · VitalTrack temperature classifier + matrix

lesson_01.py
1def classify_temp(celsius):2    if celsius >= 38:3        return "fever"4    if celsius <= 35:5        return "too cold"6    return "normal"

Mini challenge

Make all six VTL-142 acceptance rows print OK.

02Dictionaries & countingLOG-201 / LOG-202 — maps, tallies, grouping

Logs, SKUs, and status codes all need the same pro pattern: dict + .get + .items() + tests.

Concepts

  • Key → value table model
  • KeyError vs .get(default)
  • Counting idiom
  • Case study LOG-201 word_frequency
  • Case study LOG-202 status_tally
  • items() reports & sorted keys
  • Group rows into dict of lists
  • Hashable keys & dict tests

Practice set

  1. 1.Dict concepts & keys
  2. 2.Counting idiom fill
  3. 3.LOG-201 write
  4. 4.LOG-202 write
  5. 5.Vowel tally capstone
  6. 6.10 quiz + code drills

Watch out

counts[word] += 1 on first sighting raises KeyError — always .get(word, 0) + 1.

By the end

Ship analytics tallies with dict equality tests and review-ready reports.

Guided build · word_frequency + status_tally + users_by_city

lesson_02.py
1counts[word] = counts.get(word, 0) + 1

Mini challenge

Pass LOG-201 and LOG-202 matrices; optional group-by-city.

03Sets & fast lookupSET-301 / SET-302 — dupes, distinct ids, tag overlap

After dict tallies: guard pipelines with seen sets, sorted unique reports, and intersection for “what’s in both?”

Concepts

  • Counts vs uniqueness (dict vs set)
  • Case study SET-301 has_duplicate
  • Empty set: set() not {}
  • add / discard / remove
  • Dedupe vs preserve-order dedupe
  • Case study SET-302 unique_ids
  • Union, intersection, difference
  • Subset checks for permissions
  • Hashable elements & testing sorted output

Practice set

  1. 1.Set vs list membership
  2. 2.SET-301 write
  3. 3.SET-302 write
  4. 4.Set algebra MCQ
  5. 5.Preserve-order dedupe capstone
  6. 6.11 quiz + code drills

Watch out

{} is an empty dict — use set() for an empty set; never assert on print order of a bare set.

By the end

Ship duplicate detection, distinct id reports, and tag overlap with matrix tests.

Guided build · has_duplicate + unique_ids + shared_tags

lesson_03.py
1if x in seen:2    return True3seen.add(x)

Mini challenge

Pass SET-301 and SET-302 matrices; optional SET-303 shared_tags.

04Strings that parse dataSTR-401 / STR-402 — CSV rows, summaries, batch splitlines

Wire format → strip → split → validate → dict — then sets and tallies from earlier lessons.

Concepts

  • Ingest pipeline mental model
  • Case study STR-401 parse_person_row
  • strip / split / join
  • List comp strip per field
  • IndexError guards & return None
  • replace for legacy delimiters
  • Case study STR-402 f-string summary
  • splitlines & STR-403 batch parse
  • isdigit age validation & matrix tests

Practice set

  1. 1.strip & split MCQ
  2. 2.STR-401 write
  3. 3.STR-402 write
  4. 4.splitlines & join
  5. 5.STR-403 batch capstone
  6. 6.11 quiz + code drills

Watch out

Split before strip on the line; never parts[2] without len(parts) == 3 — one bad row should not kill the batch.

By the end

Parse and format simple comma rows with tests — no regex until the spec outgrows split.

Guided build · parse_person_row + format_person_summary + parse_person_rows

lesson_04.py
1parts = [p.strip() for p in line.strip().split(",")]

Mini challenge

Pass STR-401/402 matrices; optional STR-403 multi-line ingest.

05Tuples & recordsTPL-501 / TPL-502 — stats tuple & dict rows

Sometimes you need a row of values that shouldn’t change — tuples and named patterns help.

Concepts

  • tuple packing
  • unpacking
  • return multiple values
  • immutable rows
  • when not to use lists

Practice set

  1. 1.Unpacking
  2. 2.Predict output
  3. 3.Return tuple
  4. 4.Fix swap bug
  5. 5.Choose tuple vs list

Watch out

t[0] = 1 fails — tuples are immutable.

By the end

Return and unpack multiple values cleanly.

Guided build · Coordinate pair

lesson_05.py
1def min_max(nums):2    return min(nums), max(nums)34lo, hi = min_max([3, 1, 4])

Mini challenge

Write stats(values) returning (count, sum, average).

06Comprehensions & clarityCMP-601 / CMP-602 — list & dict comprehensions

List comprehensions are fast to write — interviews also ask when they hurt readability.

Concepts

  • list comp syntax
  • dict comp
  • filter with if
  • refactor loops
  • naming for clarity

Practice set

  1. 1.Rewrite as comp
  2. 2.Rewrite as loop
  3. 3.Predict comp
  4. 4.Fix syntax
  5. 5.Readability MCQ

Watch out

Nested comprehensions over 2 levels — prefer a loop in real teams.

By the end

Use comprehensions when they make intent obvious.

Guided build · Clean filter

lesson_06.py
1scores = [40, 88, 72, 91]2passed = [s for s in scores if s >= 50]

Mini challenge

Build a dict of word → length for words longer than 3 characters.

07Functions in depthFN-701 — line_total, purity, mutable defaults

Reviewers care whether your function is pure, what it mutates, and what it returns.

Concepts

  • local vs global
  • default arguments
  • pure functions
  • docstrings
  • splitting modules mentally

Practice set

  1. 1.Scope predict
  2. 2.Default arg bug
  3. 3.Add docstring
  4. 4.Refactor
  5. 5.Side effect MCQ

Watch out

Mutable defaults like def f(x=[]): — classic interview trap.

By the end

Design functions with clear inputs, outputs and no hidden mutation.

Guided build · Invoice lines

lesson_07.py
1def line_total(qty, price, tax_rate=0.18):2    return qty * price * (1 + tax_rate)

Mini challenge

Split a script into three functions with no global variables.

08Errors & reliabilityERR-801 — parse_int with ValueError

Production code fails — handling errors without hiding bugs is a junior dev expectation.

Concepts

  • try/except/else/finally
  • specific exceptions
  • raise with message
  • fail fast
  • logging mindset

Practice set

  1. 1.Pick exception
  2. 2.Fix bare except
  3. 3.Predict flow
  4. 4.Write handler
  5. 5.User message

Watch out

except: pass hides bugs — catch the exception you expect.

By the end

Handle expected errors and re-raise with context.

Guided build · Safe int parser

lesson_08.py
1def parse_int(text):2    try:3        return int(text.strip())4    except ValueError:5        raise ValueError(f"not an integer: {text!r}")

Mini challenge

Read age from input; retry once on bad input, then quit politely.

09Files & JSON dataJSON-901 — loads, dumps, settings dict

Most small tools read JSON or CSV-shaped data — even in the browser we simulate files.

Concepts

  • json.loads / dumps
  • reading structured text
  • config dict pattern
  • schema in comments
  • pretty print

Practice set

  1. 1.JSON predict
  2. 2.Fix invalid JSON
  3. 3.Build dict
  4. 4.Serialize
  5. 5.Schema MCQ

Watch out

JSON keys must be double-quoted strings.

By the end

Load and save structured data with json.

Guided build · Settings loader

lesson_09.py
1import json2raw = '{"theme": "dark", "font": 14}'3settings = json.loads(raw)

Mini challenge

Parse a JSON list of tasks and print titles only.

10Stdlib for real workSTL-1001 — Counter & datetime awareness

You’re not expected to memorise everything — you are expected to know what exists.

Concepts

  • datetime basics
  • Counter
  • defaultdict
  • path strings
  • reading docs

Practice set

  1. 1.Counter predict
  2. 2.Pick tool
  3. 3.datetime format
  4. 4.Fix import
  5. 5.Docs MCQ

Watch out

Import only what you need — from x import * fails reviews.

By the end

Reach for the right stdlib tool instead of reinventing.

Guided build · Log summary

lesson_10.py
1from collections import Counter2levels = Counter(["INFO", "ERR", "INFO", "ERR", "ERR"])3print(levels.most_common(1))

Mini challenge

Count HTTP status codes from a list of strings.

11Classes & objectsCLS-1101 — Task model with methods

Model one thing well — a Task, Expense, or Candidate — with methods that make sense.

Concepts

  • class and __init__
  • methods vs functions
  • __str__
  • attributes
  • when OOP helps

Practice set

  1. 1.Fill class body
  2. 2.Call methods
  3. 3.Predict output
  4. 4.Fix self bug
  5. 5.Design MCQ

Watch out

Forgot self in method definition — TypeError at call time.

By the end

Define a small class and use it in a script.

Guided build · Task model

lesson_11.py
1class Task:2    def __init__(self, title, done=False):3        self.title = title4        self.done = done

Mini challenge

Add mark_done() and summary() to Task.

12Debug, test, shipTST-1201 — tracebacks, assert_equal, ship checklist

Shipping means someone else can run your code and trust it.

Concepts

  • read traceback bottom-up
  • assert for invariants
  • simple test functions
  • manual test table
  • ship checklist

Practice set

  1. 1.Traceback order
  2. 2.Write assert
  3. 3.Fix failing test
  4. 4.Checklist
  5. 5.Ship MCQ

Watch out

assert is stripped with python -O — use real tests for production libs.

By the end

Debug from a traceback and lock behaviour with simple tests.

Guided build · Test helper

lesson_12.py
1def assert_equal(got, expected):2    assert got == expected, f"{got!r} != {expected!r}"

Mini challenge

Add three asserts for a function you wrote earlier.

13Capstone · JSON expense trackerPortfolio project

CLI-style tool: add expenses, list, filter by category, export JSON — portfolio-ready.

The program must

  1. 1.Add and list expenses with categories
  2. 2.Filter and summarize totals
  3. 3.Persist data as JSON export
  4. 4.Pass hidden tests in the LMS compiler

Your task

Ship a working expense tracker you can walk through in an internship interview.

Lesson 1 is live; more lessons ship weekly. Unlock with placement or Beginner L9.

09 / Final project

What do you build at the end of each track?

Beginner: a quiz game you write yourself (Lesson 10). Intermediate: a JSON expense tracker you can demo in interviews. Both use hints, hidden tests and the same in-browser compiler.

Beginner · Lesson 10

Quiz game capstone

  1. 1Where will you store the player’s score?
  2. 2How can you repeat the questions?
  3. 3How do you check whether an answer is correct?
  4. 4Could a list hold your questions?
python quiz.py
PYTHON QUIZ Question 1: What does print() do?> display textCorrect! Question 2: Which symbol compares two values?> ==Correct! Your score: 8/10Excellent work!$ 

Variables, input, if/else, loops, lists and functions — then the Python Beginner badge and certificate path.

Intermediate · Capstone

JSON expense tracker

CLI-style tool: add expenses, list, filter by category, export JSON — portfolio-ready.

  • Add and list expenses with categories
  • Filter and summarize totals
  • Persist data as JSON export
  • Pass hidden tests in the LMS compiler

Dicts, parsing, errors, JSON and OOP from the 12 Intermediate lessons — portfolio-ready for placements.

Intermediate syllabus
  • AUnderstand10 multiple-choice questions
  • BPredict5 “what does this print?” questions
  • CDebug5 broken programs to fix
  • DThink5 plain-English steps to turn into Python
  • ECodePrint 1 to 10 · Find the largest of three · Number guessing game

10 / Certificate

Finish Beginner. Get a certificate with your name on it.

Verifiable, and earned — not handed out. Complete the Beginner track and you get a Python Beginner certificate with your name, what you built and a unique ID recruiters can check online. Intermediate focuses on a portfolio capstone for interviews. Here’s a sample Beginner certificate.

MENTRLEARN PYTHON
No. MPY-7K2D-QX9M

CERTIFICATE OF COMPLETION

PYTHON BEGINNER COURSE

This certifies that

Winni

has earned the Python Beginner certificate on Mentr for completing all 9 lessons of study, solving 64 practice problems and 58 examples, and building the Final Challenge project: Mini Quiz Game.

4 February 2026

Date issued

MENTRVERIFIED

2480 XP

Earned in the course

Verify: mentr.in/learnpython/certificate/MPY-7K2D-QX9M

Sample
BEGINNER

How to earn it

  1. 01

    Finish every lesson’s Study

    Go through the Study slides in all the lessons.

  2. 02

    Solve 20+ practice problems

    Answers you reveal don’t count — only the ones you get right.

  3. 03

    Solve 50+ examples

    Step through programs to the last line, or hit a playground’s goal.

  4. 04

    Build 1 Final Challenge project

    Write it, press Run. A working program is marked complete.

  • Unique ID anyone can verify
  • Download as a print-ready PDF
  • Add it to LinkedIn or your résumé

11 / Who it’s for

Beginners and placement prep — same platform.

Beginner if you’ve never coded. Intermediate if you’re aiming at internships, projects on your résumé, or interview-style problem solving.

College students

Placements, internships, electives

Get comfortable with Python before your data, AI or programming courses — and have a project and a certificate to show for it.

Career switchers

Your first step into tech

Automation, analytics and AI work all start with Python. Learn the fundamentals properly, at your own pace, around your job.

School students

Class 6 and up

Python is the language of CBSE Computer Science in Class 11–12. Every lesson ends with a program you can run and show.

Younger learner? For Class 3–5, start with Mentr Learn — coding, AI and maths with no typing.

12 / FAQ

Learn Python online: questions people ask

Do I get a certificate I can add to LinkedIn?

Yes. Python Beginner and Python Intermediate each issue a certificate with your name and a unique ID. Anyone can verify it at mentr.in/learnpython/certificate/your-id. Intermediate requires every lesson finished and 30% of its questions solved. Add the verify link under Licenses & certifications on LinkedIn.

Is this Python course good for college students?

Yes. If you’re in college and haven’t coded in Python yet — for placements, internships, a data or AI elective, or just to get started — Python Beginner takes you from zero to writing complete programs in about 8 hours of hands-on lessons.

Can I learn Python for free?

Yes. Python Beginner on Mentr Learn is a full 10-lesson course with no fee. There’s no trial, no card and nothing locked behind a payment.

Is Python good for beginners?

Yes. Python is the most popular first programming language because the code is short and easy to read. A first program is one line: print("Hello").

Is Python hard to learn?

The basics are not hard. Python Beginner teaches one idea per lesson, starts with everyday examples, and gives you practice after every new concept. If you can follow a recipe, you can follow a Python program.

What age should a child start learning Python?

Class 6 (around age 11) is a good time to start typed Python. For younger children in Class 3–5, Mentr Learn offers coding, AI and maths lessons that don’t need typing.

How long does it take to learn Python basics?

Python Beginner is 10 lessons and fully self-paced. At one or two lessons a week, you’d finish the basics in about one to two months, including the final project.

Do I need a long 60-hour Python course?

No. To learn the basics you need practice, not hours of video. Python Beginner is about 8 hours of short lessons where you predict, fix and write code yourself, with 500+ questions that are checked instantly.

Is there an online Python compiler?

Yes. Every learner gets a Python compiler that runs in the browser, on laptops and phones. Write any program, press Run, and type answers to input() right in the output console. Nothing to install.

Do I need any coding experience?

No. Lesson 1 starts from zero: what programming is and how to show text on screen with print(). Each lesson builds on the one before.

What will I be able to do after Python Beginner?

Write small programs on your own — a calculator, a grade checker, a times table, a shopping list — and a complete quiz game that uses variables, input, if/else, loops, lists and functions together.

What is Python used for?

Websites and apps, games, automating boring tasks, data analysis, science research, and artificial intelligence and machine learning. Many of the AI tools people use today are built with Python.

When will Python Intermediate and Advanced open?

Python Beginner and Python Intermediate are live. Take the free placement quiz on the Learn Python page if you already know basics. Python Advanced is still in development.

How do I start Python Intermediate?

Pass the 12-question placement quiz (70%+) or finish Beginner through Functions (Lesson 9). Intermediate uses the same Study → Examples → Practice flow with harder, job-focused projects.

How is this different from Mentr Learn for Class 3–5?

Mentr Learn for Class 3–5 teaches computer science, AI and maths with narrated videos and block coding — no typing. Learn Python is real typed Python from the first lesson, for older students and beginners of any age.

Can I get a Python tutor too?

Yes. Search Python tutors on Mentr and book an online demo from any tutor’s profile. The course stays fully open whether or not you hire a tutor.

Lesson 01

Ready to write your first line of Python?

It takes about a minute to start. Every lesson, the compiler and the certificate are open to you from day one.

BEGINNER