What separates a good programmer from a great programmer is how much practice they both have. There are several websites one can use but the ones listed below are the most commonly used and make use of their own IDE’s, making it easier for you to check if your code works as they automatically test your code. Majority of the items on this list support other programming languages such as C++ , Java , JavaScript or even Ruby so even if you have no knowledge of python, this website are great resources to practice programming languages you might know:


Codewars is a platform that helps you learn, train, and improve your coding skills by solving programming tasks of many types and difficulty levels. You can choose how you would like to learn: do you want to face challenges of increasing difficulty? Or maybe you prefer training by repetition and improving your solutions? After solving a task, you can compare your answer with other users and learn from them too, or you can help less experienced users and answer their questions.

Coding Bat

CodingBat is a great beginner friendly website for people who are relatively new to programming. CodingBat is a free site of live coding problems to build coding skills in Java and Python (example problem). CodingBat is a project by Nick Parlante, a computer science lecturer at Stanford. CodingBat problems work great as homework, or for self-study practice, or in a lab, or as live lecture examples. The CodingBat problems are designed to have low overhead: short problem statements (like an exam), nothing to install, immediate feedback in the browser, and there’s lots of them to build up those skills.


HankerRank is a tech company that focuses on competitive programming challenges for both consumers and businesses, where developers compete by trying to program according to provided specifications. HackerRank’s programming challenges can be solved in a variety of programming languages (including Java, C++, PHP, Python, SQL, JavaScript) and span multiple computer science domains. On the consumer side, when a programmer submits a solution to a programming challenge, their submission is scored on the accuracy of their output. Programmers are then ranked globally on the HackerRank leaderboard and earn badges based on their accomplishments to drive competition among users. In addition to individual coding challenges, HackerRank also hosts contests (often referred to by HackerRank as “CodeSprints”) where users compete on the same programming challenges during a set period of time and are then ranked at the conclusion of the event. HackerRank is part of the growing gamification trend within competitive computer programming and the consumer-side of their website is free for coders to use.

Practice Python

Practice Python was created as a side project to provide small, short, and relevant introductory Python programming exercises for beginners. Many resources online, while thorough, were partially inaccessible to complete beginners. Mainly, the exercises were given without context. I recognized many of the problems as arbitrary and distinctly computer-sciency. They were all about sorting lists, class-design of different kinds of students, and searching through lists of strings. The Practicing Python website provides easier problems that were more relevant to someone interested in learning Python or programming in general. Long-term, the resource provides Python resources for learners and educators alike — Practice Python is the first step.


Leet Code helps you enhance your skills, expand your knowledge and prepare for technical interviews. Even tho leetCode is not the best resource for beginners, if you feel like you hav e a good mastery of the fundamentals, I urge you to give this website a try. Not only does LeetCode prepare candidates for technical interviews, we also help companies identify top technical talent. From sponsoring contests to providing online assessments and training, leetCode offers numerous services to businesses.

The goal of this blog is to teach and explain python algorithm questions to both new and experienced python software developers. Hey there! I’m the newbieprogrammer and my goal is to make sure that my readers understand the various python algorithms/ problems I solve and also to teach and educate people on the core fundamentals of programming and writing code in python. Feel free to check out my Instagram @newbieprogrammer and make sure to give me a follow on there.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Raphael Madu

Raphael Madu

Former Python Web App developer turned Machine learning Engineer. Join my discord server for python programmers!