很多刚开始学习 Python 的人,在看完变量、循环、函数等教程以后,往往会遇到一个比较现实的问题:知识好像听懂了,但是不知道应该去什么地方开展实际练习。下面整理 8 个风格完全不同的 Python 练习平台,可以分为基础入门、算法求职、游戏闯关以及综合挑战几个方向,可以根据自己当前的学习阶段进行选择。适合人群:已经具备一定编程基础,准备校招、社招或者希望提升算法能力的人。
平台特点:题目按照简单、中等和困难进行划分,支持 Python、Java、C++ 等多种编程语言,内容覆盖数组、链表、哈希表、树、动态规划等常见面试考点。每道题有大量题解、讨论区,看不懂思路可以参考别人的 Python 实现。想进互联网大厂,刷 LeetCode 是硬性储备。
官网:https://leetcode-cn.com/problemset/all
二、零基础语法练习方向
适合人群:希望快速练习代码,或者需要多人一起开展编程训练的人。
平台特点:轻量的在线编程练习工具,支持 Python、JavaScript、Java、PHP 等多种语言。它的界面比较简单,无多余广告,主要功能集中在编写代码、运行测试以及查看结果。除了个人练习以外,也可以用于课堂训练、团队结对编程以及小组同步刷题。
官网:https://cyber-dojo.org/creator/home
开源地址:https://github.com/cyber-dojo
三、游戏化闯关方向
适合人群:喜欢游戏,希望通过任务方式训练编程逻辑的人。
平台特点:把编程题设计成为相对应的游戏任务,学习者需要通过代码控制角色或者完成指定目标。平台支持 Python 在内的多种编程语言,还可以调整编辑器操作方式,适合不太喜欢机械刷题的人。
官网:https://www.codingame.com
适合人群:已经具备一定基础,喜欢挑战不同难度题目以及对比代码写法的人。
平台特点:采用类似编程闯关的练习方式,题目会按照不同难度进行划分。完成题目后,可查看其他开发者提交的代码,并且比较不同解法在结构、效率和可读性方面的区别。它比较适合利用碎片时间练习,也能够帮助学习者逐渐优化自己的 Python 写法。
官网:https://www.codewars.com
适合人群:零基础学生,或者喜欢 RPG 剧情式学习的人。
平台特点:会让学习者通过编写代码控制游戏角色完成任务。在闯关过程中,可以逐渐接触变量、循环、判断和函数等基础内容。具有比较直观的反馈,对刚开始接触编程、暂时无法适应传统题库的人来说,往往更加容易坚持。
官网:https://codecombat.com
适合人群:喜欢网页闯关和解谜,同时希望逐步提高代码能力的人。
平台特点:CheckiO 主要支持 Python 和 JavaScript。平台把题目设计成不同岛屿以及关卡,学习者需要通过编写代码解决对应谜题。题目难度会逐渐提高,既可以用来巩固基础语法,也能够训练代码思路,比较适合开展碎片化练习。
官网:https://checkio.org
适合人群:完全零基础,或者希望以较低门槛建立编程思维的人。
平台特点:CodeMonkey 采用卡通闯关的方式,让学习者编写指令控制角色完成任务。练习内容会涉及顺序执行、循环、条件以及函数等编程基础概念。更偏向青少年以及编程启蒙阶段,不过成年人用来建立基础逻辑同样没有问题。
官网:https://www.codemonkey.com
四、综合能力挑战方向
适合人群:已经学完 Python 基础,希望检验综合应用能力的人。
平台特点:Python Challenge 并不是传统形式的练习题网站,而是一个经典的解谜闯关平台。每一关都会隐藏一些线索,需要学习者使用 Python 找到答案。整个过程中,可能会涉及字符串处理、正则表达式、网页请求、文件读取以及图像处理等相关内容。它更加考验知识的综合运用能力,适合完成基础学习以后进行查漏补缺。
官网:http://www.pythonchallenge.com
五、总结:Python 新手刷题路线
刷题平台并不是选择得越多越好。更加重要的是根据当前阶段确定一个主要平台,坚持完成练习,并且对做错的题目进行复盘。只有真正把代码写出来,才能逐渐把教程里面的知识转化成为自己的编程能力。