Guide · Open source
How to use show-me-the-code: a daily Python practice guide
Updated · written with AI from the project's own documentation and checked against our catalogue data
show-me-the-code is an open-source collection of Python practice problems, with one small program per entry, written in Chinese. This guide shows you how to get the repository, choose a problem, and work through it as a daily exercise. By the end you will know how the problem list is organised and how to use it to practise Python on files, images and simple web apps.
Quick start
- 1Clone the repository. Run git clone https://github.com/Yixiaohan/show-me-the-code to download the problem list to your computer.
- 2Confirm Python 3 is installed. Python 3 is the stated prerequisite, so check you have it before you start writing solutions.
- 3Open the README. Read the README in the cloned folder to see the numbered problem list and the reference links.
- 4Choose problem 0000 or the next unfinished number. Work in order, since some problems build on earlier ones such as the code from problems 0001 to 0003.
- 5Write your own solution. Attempt the task in your own Python 3 file before consulting any reference material.
- 6Test and compare. Run your program on sample input and check the result, then compare with the linked reference code if you need to.
What show-me-the-code is and who it suits
The README describes it as a Python practice book with one small program per day. Its problems cover tasks such as generating verification codes, counting words in text files, converting between Excel, XML and text formats, filtering sensitive words, and building simple web apps.
The README notes that if you replace Python with another language, most of the problems still apply. The problems and the README are in Chinese, so the material suits Chinese-speaking readers best.
- Good fit: Chinese-speaking beginners who want small, concrete Python tasks
- Good fit: learners who like a numbered problem list to work through
- Good fit: self-taught programmers looking for project ideas involving files, images and simple web apps
- Poor fit: readers who need English-language material
- Poor fit: learners who want structured lessons with explanations
Get the show-me-the-code repository
The project is read online and shared as a Git repository. To get a local copy, clone it with Git. You need Python 3 installed to run your own solutions, and the README lists it as the only prerequisite.
- Install Git if it is not already on your machine.
- Clone the repository using the command below.
- Open the cloned folder and read the README, which contains the full problem list.
git clone https://github.com/Yixiaohan/show-me-the-codeRead the problem list and pick your first problem
The README lists problems in numbered order, from 第 0000 题 onward. Each entry describes a task and often links to reference reading. Several entries are chained: for example, problem 0002 asks you to save the 200 codes generated in problem 0001 to a MySQL database, and problem 0003 asks you to save them to Redis instead.
The README says the problems are meant to be worked through as a daily exercise. Starting from the beginning keeps the chained problems in sequence.
- Problem 0004: count the occurrences of words in an English plain text file.
- Problem 0005: resize a folder of photos so none is larger than iPhone 5 resolution.
- Problem 0011: read a list of sensitive words from filtered_words.txt and print a response when the user types one.
- Problem 0012: the same word list, but replace the sensitive word with asterisks.
Work through a problem step by step
Read the task carefully, then write your own Python 3 solution before looking at any reference material. The README links to outside references for many problems, such as a Stack Overflow question on generating random letters for problem 0010, so you can look up specific techniques when you get stuck.
The repository's README points to a separate project at Show-Me-the-Code/python, which the README says contains some problem code for reference only. Compare your answer with it after you have tried the problem yourself.
- Write the program in a file of your own, for example one per problem number.
- Run it with Python 3 on sample input and check the output against the task.
- Use the linked references only when you are stuck, then return to your own version.
Use the problems to build small projects
Many problems combine a few skills, such as reading files, handling data formats and making a small web page. The web problems ask you to build a guestbook and a TodoList using a Python web framework. The README links a discussion of Python web frameworks but does not recommend one.
Some problems depend on outside services or files. Problem 0020, for example, asks you to export call records from a Chinese mobile operator's website, and problem 0013 asks you to download images from a linked page. Treat these as exercises in the approach rather than guaranteed steps, since the external sources may have changed.
- Files: word counting, line counting and format conversion between txt, xls, xml and text data.
- Images: resizing photos and generating a verification code image.
- Web: a guestbook and a TodoList app.
- Other: password hashing for storage, and a speech-to-text idea for opening a default website.
Keep expectations realistic about library guidance
The README mainly lists problems and links to outside references, so it does not teach each concept in depth. The project has not been updated in years, so library choices in the reference material may be out of date. When a problem names a specific library or service, check its current documentation before relying on the approach.
- Check current library documentation for anything the problem names.
- Expect outside links to be older than current Python practice.
- Pair the list with a structured course if you need explanations.
What people use it for
- Practising file handling by counting words in a folder of diary entries, as problem 0006 describes.
- Building an image tool that resizes a folder of photos to a maximum size, as in problem 0005.
- Learning web basics by building a guestbook or TodoList with a Python web framework, as in problems 0023 and 0024.
- Practising data format conversion, for example turning a text dictionary into an Excel file as in problem 0014.
Frequently asked questions
Is show-me-the-code free to use?
Yes. The repository is licensed under MIT. You can clone it and work through the problems without payment.
Do I need to install anything to use show-me-the-code?
The README lists Python 3 as the prerequisite. You clone the repository with Git and then write and run your own Python 3 solutions.
Are the show-me-the-code problems in English?
No. The README and problem descriptions are in Chinese, although the README says most problems also apply to other programming languages.
Is there an official solution key for show-me-the-code?
The README links to a separate Show-Me-the-Code/python repository that contains some problem code for reference only. It does not claim to cover every problem.
How does show-me-the-code compare to Exercism or Project Euler?
The analysis lists Python Exercises, Project Euler and Exercism as comparable projects. show-me-the-code focuses on small practical tasks such as files, images and simple web apps, rather than the maths-style or mentored exercises those sites emphasise.
Why do some show-me-the-code problems look outdated?
The project has not been updated in years, and some linked references and library suggestions may be out of date. Check current documentation for any library a problem names.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use show-me-the-code if you read Chinese, want a numbered list of small Python tasks, and like building file, image or simple web projects. Pick a different resource if you need English material, structured lessons with explanations, or current library guidance.
Install options & downloads