Skip to content

About

πŸŽ“ 42 School | Complete Rank 03 (milestone 3) preparation toolkit featuring an interactive ExamShell simulator and level-based Python solutions.

Topics

Resources

Stars

48 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PracticeShell Banner


Rank 03 (Python) PracticeShell - Exercises & Solutions


Warning

At the request of the 42 Network, this repository no longer contains the real Rank 03 exam subjects or solutions. The PracticeShell now uses original exercises. They are great for training, but they are not the actual exam questions.


πŸ’‘ About

This repository is a growing bank of exercises for the topics learned during Milestone 3 of the Python Common Core.

The goal is to help you:

  • Train the topics you learned during the milestone
  • Review your doubts and find your weak points
  • Prepare for the exam by practicing under time and test pressure.

New exercises will be added over time. Each one focuses on a concept learned during this milestone.



PracticeShell Preview

Quick Start β€’ Features β€’ Exam Mode β€’ Practice Mode β€’ Solutions


A Python-based PracticeShell simulator inspired by the new 42 School Common Core Rank 03 learning material, combined with a collection of organized solutions grouped by difficulty level.


πŸš€ Quick Start

Clone the repository:

git clone https://github.com/SaraFreitas-dev/42-Python-ExamShell-Rank03
cd 42-Python-ExamShell-Rank03

Run the PracticeShell:

python3 practiceshell.py

You will be presented with the main menu:

[1] Start Exam
[2] Practice Mode
[3] List all exercises
[q] Quit

No dependencies, no setup: just Python 3.


πŸ“ Workspace

When the PracticeShell starts, it automatically creates an exam_workspace directory.

All exercise files should be created inside this folder. The grader will only validate solutions placed in the generated workspace.

Example:

exam_workspace/
└── py_word_length_sorter.py

Simply create the requested file, implement your solution, and submit it through the PracticeShell interface for automatic evaluation.


⭐ Main Feature: PracticeShell Simulator

The PracticeShell is the core of this repository.

It lets you practice each milestone topic hands-on, with hidden tests and automatic feedback, instead of just reading solutions.

PracticeShell Preview

Grading Exam experience Interface
Automatic grading Random exercise assignment Colored terminal UI
Hidden test cases Progressive level system Score tracking
Timeout protection Exam & practice modes Time tracking
6 difficulty levels Rank progression logic Pure Python

The workflow:

  1. Receive a subject
  2. Create the requested Python file
  3. Implement the solution
  4. Submit for grading
  5. Fix failing tests
  6. Progress to the next level

PracticeShell KO example


🎯 Exam Mode

Select:

[1] Start Exam

The simulator will:

  • Assign exercises automatically
  • Increase difficulty after each successful exercise
  • Track your score
  • Simulate a 3-hour exam session

πŸ† Passing the Exam

The simulator uses a progressive difficulty system. To successfully complete the exam you must validate:

6 / 6 exercises

πŸ›  Practice Mode

Select:

[2] Practice Mode

Practice Mode allows you to:

  • Choose any exercise
  • Focus on a specific level
  • Submit unlimited times
  • Train without time pressure

πŸ“š Solutions

Solutions are organized by level and include the completed exercises.

solutions/
β”œβ”€β”€ level_1
β”œβ”€β”€ level_2
β”œβ”€β”€ level_3
β”œβ”€β”€ level_4
β”œβ”€β”€ level_5
└── level_6

This makes it easy to study specific difficulty ranges or review previously solved exercises.

⚠️ Try each exercise in the PracticeShell first. Reading solutions before attempting them will not show you where your weak points are.


πŸ“– Topics Covered

  • Strings and string transformations
  • Lists and matrices
  • Dictionaries and character counting
  • Sorting with custom criteria
  • Palindromes and anagrams
  • Ciphers and character shifting
  • Number conversion (Roman numerals, binary)
  • Rotation and merging of lists
  • Stacks and balanced structures
  • Edge case handling
  • Algorithmic thinking

⚠️ Disclaimer

This project is an independent educational tool. It is not affiliated with or endorsed by 42 School, and it does not contain any official 42 exam content.


πŸ’‘ Suggestions

Found a bug, a missing test case or have an idea? Feel free to open an issue.


⭐ Support

If this repository helped you prepare for the exam, consider giving it a star ⭐

Good luck and happy coding πŸš€

About

πŸŽ“ 42 School | Complete Rank 03 (milestone 3) preparation toolkit featuring an interactive ExamShell simulator and level-based Python solutions.

Topics

Resources

Stars

48 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages