I came to PyBites because I had a few years of Python experience and was looking for a way to level up in my knowledge of and capability with it as a language for software development. For me that meant re-enforcing all of the fundamentals, and getting a better understanding of and practical experience writing tests.
After reading books and searching the entire internet, I found PyBites to be the best resource for taking me from a beginner/intermediate python programmer to a confident programmer. Not only is PyBites an amazing way to practice and learn, the community is the best and thats one of the biggest advantages an engineer can have - a supportive and knowledgable community.
Since discovering PyBites I continue to learn from and apply the gems I get from the platform and apply in my day to day work as a Network Engineer at my day job and also on all my startups!
To become a solid and confident software developer, you must stretch your skills and knowledge. You have to practice more than most areas of study. That is why #100DaysOfCode has connected with the community so deeply. However, when you are new it is very difficult to know what to build and to stay on track. The PyBites platform is a great asset to help focus your enthusiasm and keep you going for that amazing 100 days.
The website is very simple, but the service offered is vastly superior to anything I've known on the web (for Python development anyway).
As soon as I started the first challenges, I knew that I had found not only the best way to train every day to become a better developer, but also the best way to show all companies that recruit that I know how to solve difficult challenges.
I've found my first job as a Java/Python developer and I sincerely believe that it's thanks to my daily training on the PyBites platform.
I had some involvement with PyBites and code challenges when I did the 100 days of code, I bought from Talk Python Education.
I did a bit of the bites while doing the 100 days but then never came back. I watched lots of tutorials to get concepts and I noticed that when I learned the most was when I was using Python at work in real situations, solving real problem.
This is exactly what PyBites is. I was very motivated by Bob's enthusiasm and with the challenge to set me an objective to become a python master and to really become fluent in the language I think PyBites is the way to go.
I am disciplining myself to do it at least 1 Bite a day. I have been in the platform for a week and I already accumulated 80 points and that keeps me going.
The community and the Slack channel are very supportive and responsive. I am really loving it and think it is worth every cent of my investment in time and money.
I already can feel my fluency improving in just forcing myself to solve problems and seeing how the same problem can be solved in so many different ways and that is making my code more pythonic and also more efficient and cleaner.
Thanks Bob, Julian and all the community. 😀👊
I found out about PyBites through the 100 Days of Code program via Talk Python.
At first, i thought "what is this? seems like a distraction..." Then I started doing the bites and really started seeing the value in them as my coding ability improved quickly.
Don't get me wrong, it's a lot of work, but its also really fun as you learn and solve more bites. There have been times where I got frustrated with a bite, but the Slack has awesome community members who have been willing to take me through steps I couldn't understand with researching information on my own.
I try to work through one learning path at a time. some of them have been really hard, but the knowledge you gain from having to scrape and claw to the end really sticks with you, unlike how you sometimes read a book once and don't retain a lot of that information.
I've been really impressed with PyBites, and plan to continue learning and growing with each bite.
PyBites is ideal for getting you out of your comfort zone and getting you to work with modules and techniques you may not see in your day-to-day use.
Also, there is no way you can use it without becoming familiar with test-driven development, which is a skill a lot of folks can struggle with.
Books are great, but for my return on the investment of time (and money), there's nothing better than PyBites.
PyBites has a very welcoming community who are very helpful and make you feel like you are not alone. The challenges are very practical and help you to discover builtins and modules that you may not have known about. There are very helpful tips, articles and a Slack channel where you can get help along the way. The CoFounder even sent me a very encouraging message video which helped tremendously in motivating me.
With a background in Linux Sysadmin, I used to think Python was something really useful but out of my reach. I gave myself the goal of becoming better at it and replace Bash with Python for all of my scripting. I started, like many others, by reading books and doing small exercises, but progress was slow and it took a lot of motivation to keep going.
PyBites was a real revelation. Without knowing it, with each exercise you are taken deep into some serious Python concepts, and it's loads of fun! I can do exercises at my own pace, run my code directly in the browser and see if it's a pass. The score board and the incredible support from the community are an invaluable boost to my motivation.
Over time I built a solid profile which includes a portfolio on GitHub and shows my commitment to coding every day. It has already helped me to get a better job as an SRE.
Hey! You should check out the PyBites platform, it is an amazing way to learn #Python or to keep fresh what you already know! Their bites and challenges will give you a good time. 😎
Learning Python syntax and what sort of functionality is available in the standard library is not hard, using the official documentation. But learning how to really program in Python, using it WELL without reinventing any wheel, takes considerable practice AND exposure to code written by more experienced developers.
PyBites will give you both with relatively little daily effort. Nothing like solving a bite and then comparing your solution to those of others, going through dozens of "aha! - that's nicer!" moments as you level up. It will keep you learning and refining your techniques until you'll become remarkably fluent and ready to use the language professionally. You will also learn how to automatically test your code, an extremely critical skill. Seriously, it will really make a difference in how well you can use Python, and it will be very entertaining and satisfying to boot. Get aboard!
When working on a research project I came across a requirement to learn Python to better benefit from data science and cross-platform capabilities that it provides. This is not a programming language I dealt with much before, so I focused on learning via books and a popular online learning platform.
However, such passive learning when not reinforced by active utilisation of the language and its features meant I had to keep reviewing topics and syntax that I have already completed training on often, going back and forth frequently (since Python language and concepts differ greatly from C# and Typescript that I utilise in my daily work).
When I came across PyBites and experienced the active learning that this platform fosters, my progress in understanding and retaining language features has increased greatly.
Combining passive learning from books and video lessons with active training through PyBites exercises provided me with just the right balance of information and experience to significantly improve development of my Python skillset.
I have been learning Python for 6 months now, but I started using this platform this month. I have really learnt new libraries and how to tackle complex issues by solving the challenges.
I really like the structure of this platform, you can decide to solve Bites only based on a particular area using the Learning Paths link.
PyBites has been immensely helpful! I have tried multiple platforms to learn and improve my Python skills, but PyBites has been by far the most useful and enjoyable.
Since you have to problem solve for each Bite, they really help reinforce the idea of thinking carefully and logically about what steps need to be taken before and as you start any code.
When I first started, I would just throw code at the issue and hope, without really understanding the process and how Python is implementing it. I think this is a common flaw that non-experts fall into.
PyBites is the ideal platform to finally break tutorial paralysis and focus on solving a real task.
I love that in PyBites there are pretty many tasks, which are taken from the features, what platform
has itself, for example solving how many days a person coded in a row, or what is top PyBites tags and similar.
Though the biggest value I’ve found for myself is not solving the particular bite, though learning
from others in the forum, sharing/comparing/discussing the solutions and also learnings.
Big wow for me - receiving the personalized video from Bob, once I achieve yet another belt. I was very pleased by such an individual approach and also later, giving the feedback what could be improved in the platform, I’ve received the message back to put such request in the backlog or case it was simpler, the feature request arrived(released) to the platform a few days later 👏
Well done, Bob and Julian and community, what you've organized around! 🙂
PyBites exercises are a fantastic way to learn by doing. I've gained much more experience and confidence in my coding doing the bites on this site than I have in a couple of years of using books and video tutorials. I wish this site had existed when I first started learning Python, it would have made it much easier and more fun.
The exercises on PyBites provide feedback through automated tests and encourage learning Python-specific concepts. Feedback-based practice is the key to learning. I'd definitely recommend new Python developers try to solve a few of these exercises.
I heard about PyBites from the TalkPython podcast. And subscribed to the PyBites podcast as well, brilliant content. It is not only about python programming, but also about productivity, life, and also the snippet about what you are reading.
I have been learning, reading, and taking online classes for Python for a long time, but have never been able to really practice by solving a problem. A few weeks ago, decided to sign up as a trial to see if I can improve using the platform. The experience was amazing. The challenges are not too hard but challenging at the same time. And the pytest really gives a good environment for learning and testing.
Great platform, really worth becoming a premium member. I Will work towards 100 days of coding.
Keep up the good work.
I came across PyBites a few months ago and have been absolutely hooked. I am a huge fan of the bite-sized challenges. PyBites offers a great balance of guidance while allowing for extreme creativity. I have tried numerous platforms looking to advance my skills in Python so that I can become a well-rounded developer. I really feel like none of them come close to PyBites!
Hi Bob, Julian,
I just wanted to take a minute to write this up for you guys to say thanks for everything you have done for me.
The pointers and help I've received from you over the last year have proved invaluable. It's just the motivation I've needed.
I decided that whilst I am learning the nuances of Django for my own project (after some discussion with Bob) I would keep improving my Python by undertaking the #100DaysofCode challenge.
To say I am amazed at how much I've learned in the first 17 days is an understatement. Mixing up the difficulties of the PyBites was a stroke of genius as it pushes you to code beyond your perceived limits
and acknowledge that you do sometimes know more than you think you do!
It's given me a confidence boost and the discipline to sit and code every day.
It's made me accountable to myself and to the others that support me via Twitter (@l1dge).
Not only that I've learned lots of new features that I didn't know Python had, but the code also has challenged me to look at blog posts, stack overflow and Python's documentation (which is actually very good) to solve the challenges. I'm still trying to get my head around using git properly but your latest video is on my watch list for this week so that should help.
The PyBites have also introduced me to TDD. My method is to copy the starter code to VSCode to work offline, and also copy the pytest code to make sure it passes locally before submitting my code to the platform.
This took a bit of getting used to but it saved me from multiple submits a lot of the time. Most errors are down to me not fully reading the requirements, something I hope I am getting better at.
I absolutely love the codechalleng.es website, the ethos of learning by doing is fantastic and your platform is one of the best I have used, no more 'tutorial paralysis' here!
I've rambled on plenty enough, suffice to say, keep up the great work!!
All the best,
Python challenges for any level and topic!
The progression is really well done in the sense that you could search for a specific topic unfamiliar to you and learn it, by doing related exercises from beginner to advanced.
To this end Bites are searchable and they are tagged by the topics and knowledge required to solve them, for example, a “find most common word” Bite is tagged with: list comprehension, Counter and data analysis.
PyBites encourages you to practice daily by tracking and showing the days you have worked, a method they refer to as the Seinfeld's Productivity Secret.
Another thing they do which I really like is “Ninja Belts”, by completing Bites you earn points, by having sufficient points you advance in belt category, they start at the white belt, then yellow, orange, green, blue, brown, black, and finally paneled. I’m currently a Blue belt Ninja and working towards the next one.
The challenges have been a great way for me to improve my coding skills.
I really like the approach of having to research solutions myself without much hand holding.
I also feel like I want to refactor my working code to make it as elegant as possible in the hope it'll be similar to the official solution.
First some background. Over the years I've used many different programming languages to various degrees of success. From BASIC on an Apple IIe to Cobol, C and C++, Lisp and Fortran in College and then through Java and Perl as I got involved in a little tinkering in work.
I was aware of Python for a while but it wasn't until I undertook a Masters of Science in Analytics that I decided that it could well be the last language I'd ever learn. Anyone who uses Python, either regularly in a professional capacity or intermittently as a hobby, doesn't need me to tell them why we love the language so much.
For me it was three things that drew me in. First the easy to read and understand syntax (or lack of), second was the wide variety of freely available commercial grade data science libraries and finally, but most importantly the Python Community.
My Masters culminated in my Thesis which was CyberBullying Detection using Text Processing in Python. But after a while I didn't make any further Python progress. In fact, over time, I nearly stopped using Python and was only scripting miscellaneous small helper scripts. Also, because my Masters was partially for fun and partially for continuous learning, I wasn't actively doing any Analytics or Data Science.
I had even stopped looking at the new competitions in Kaggle. So what does all this have to do with PyBites? Read on.
A couple of years ago I decided I'd procrastinated enough and I needed to get back in gear. I completed a MOOC Data Science Certification (based on Python of course) to get my eye back in and fell in love with Python all over again. But while doing this course I realised that I didn't know core Python very well at all.
Sure I could build a Clustering Model or build a KNN Model but I knew, deep down, I was Python equivalent of a golfing hacker who leaves a trial of divots behind on every hole. I started looking around for ways to fix this and for a while I read books, took Python MOOC courses and slowly felt I was getting but I was still not satisfied with my progress. Enter PyBites.
I can't remember the fortuitous happenstance that lead me to PyBites, but about a year ago a beautiful friendship was born. There are so many great things about PyBites that it hard to include everything in a short post like this, but here are my top 5:
1. PyBites Coding Platform
The PyBites coding platform is the first heart of PyBites. It a Django powered site where users of the platform can log in a code python again problems that are set by either the creators of the site, Bob and Julian, or by other members of the PyBytes community.
At this point there are over 300 problems to be solved ranging from simple one liners targeting total beginner just starting out in Python right up to challenges where the description of the problem take 15 minutes to read, a day to understand and then a week to solve (I am that soldier and I have that medal). But the great thing is that all of these Bites (coding challenges) come with a full suite of PyTests already written for you to test your code against so no wondering if your solution works or not, you find out right there and then. And I do mean right there and then.
The site has a built in Python editor pane that is fully Pep 8 compliant and you can choose a theme to match your favourite editor. And if you'd prefer to code offline, not problem. You can down link your account to Github, download the bite and tests, add to Git and when ready load your completed solution straight into the editor for validation. Oh and each Bite has a forum page where you can compare solutions and discuss.
One of the best part of all this though is that the Python Bites have been gamified. All Bites are given points from from 2 for beginner Bites, 3 for intermediate, 4 for advanced up to 9 and 10 for special Bites. There is great friendly competition to be top of the leaderboard with the most points. Also, as your score increases you get belts, like Judo, to show how far you've progressed. Brilliant idea.
There are so many other great things that I could go on for ages but I'll finish with the profile page each user is given. On this page, if you choose to make it public, you can see how many Bites the user has completed, coding streaks, Learning Paths completed, number of Bites Authored, number of code challenges completed etc. etc. etc. What more could you want to show a prospective employer if you are starting out looking for a Python job.
2. Learning Paths
If having Bites wasn't enough, a selection of related Bites have been gathered together in Learning Paths. Each of these path contain a mixture of beginner, intermediate and advanced Bites that help your understanding of a particular topic evolve.
There are 12 paths available at the moment with more in development: Algorithms, Collections Module, Data Analysis, Data Formats, Datetimes and Timezones, Decorators and Context Managers, Itertools, Object Oriented Programming, Pytest, Regular Expressions, String Manipulation, and Web Scraping.
3. Python Articles
There are 4 years of Python tip, tricks and deep industry knowledge here. Go read them all. Enough said.
4. Code Challenges
The Bites are brilliant but if you're looking for something a bit meatier there are 64 challenges on the site that are more free-style. No right or wrong solutions, no tests (you should write your own), no hints or help. Just here is something you could do in Python over the next hour, week, month.
Take it and run with it to your own satisfaction. Great if you're looking for extra practice or want to showcase your skills in your Github repository.
5. PyBites Slack Community
Last, but by no means least, is the PyBites Slack Community. What can I say about this. I mentioned earlier that one thing the drew me to Python was the community. The PyBites Slack Community is now like a second family to me. I now know some of the people on this community better then work colleagues who I've shared an office with for 15 years.
New members are always welcomed, nearly immediately. Questions or cry's for help usually result in a fight to see who can jump in first to help. And the help is always generous. I've seen threads that are 50, 60 70 posts longs as problems are worked through and concepts explained. It's as safe and as friendly a bunch of people, all interested in Python, that you could want for.
There's no status, you don't need to earn your right to express an opinion or contribute or ask a question, just jump right in. Also through this community I've learnt about so many great Python resources and other fascinating things like "AdventofCode" and "Hacktoberfest". You should join PyBites just to find out about Karmabot ...
I've learnt more Python in the last year than the previous 6 when I was going solo and, better yet, had fun doing so to boot.
I can't recommend PyBites enough or thank Bob and Julian sufficiently for putting together this vehicle, no juggernaut, that will help improve your Python in no time at all.
The PyBites platform is wonderful! I wish I had discovered this much earlier. Within a few weeks my confidence grew in my ability to tackle challenges but also it helped me apply a lot of the things I had read and learnt.
I must also say that it is quite addictive, each Bite is so good that once you complete the challenge you want to move to the next one.
It provided me with an unprecedented amount of knowledge that both gave a solid grounding to the things I had learnt but also exposed me to so many elegant, cool, out of your mind beautiful solutions. I simply love the platform.
Within two weeks of achieving my orange ninja belt, I can confidently say I have become a Python Ninja! How cool is that?
Every beginner, intermediate Pythonista and even seasoned developers should make every effort to get on this platform, it transports you to new levels in your Python journey. It makes the journey so much fun. Keep calm and keep coding.
I am still a Python newbie, yet the PyBites community has been as welcoming to me as if I were already a "Ninja." I've also been impressed with how much I've been able to learn just by completing the introductory Bites. I look forward to completing more challenges!
I think PyBites is the greatest thing since sliced bread. I've used Hackerrank, Codesignal, Geeks2Geeks, TopCoder, Euler, Leetcode, etc, etc, etc. All of them have their good points and their uses, and some I still use regularly, but *PyBites* is the one that's most useful to me, clearest, and best put together. PyBites is helping me fill in gaps in my Python skills, and level up.
I'm glad I'm FINALLY working through the Bites. Not new to Python but the platform is great and even the Intro Bites are great practice. The optimized solutions are also great.
I've been recommending pybit.es to my peers and my customers. It's great because you can get people comfortable with tests as well. Anything to keep them from thinking testing is only for advanced Pythonistas.
This platform for learning Python has been invaluable. I think it works well because it gives small challenges to complete every night that don't require too much time to get your head around. I've found it builds a strong habit that is needed to learn effectively. If you ever get stuck there is a fantastic community available to help answer questions no matter how simple they seem. Awesome work by the pybites team.
I've been studying Python for a little while, but I've really hit a wall when it comes to applying much of what I've learned.
So, PyBites looks perfect as a way of making me tackle problems and thinking of ways to solve them in Python — exactly what I'm needing in order to keep progressing.
I've blocked out an hour every morning to tackle a Bite — just passed Bite 5, a good, positive way to start the day!
PyBites was instrumental in getting me up to speed fast with Python after a career with other technologies. Not only was it directly responsible for helping me land a great job but it also exposed me to many different aspects of Python programming that crosses multiple disciplines, something that very few resources do.
Every bite of Py has been educational and I am continuously being pushed way past my comfort zone and have grown accustomed to an ever changing and dynamic environment. At this rate, I'll be a pro in no time!
Thanks Bob and Julian!
I just finished the beginner bites and wanted to say thank you, and what a joy it's been to have this resource the past few months. As someone who doesn't get a chance to work in Python daily or even weekly sometimes, these exercises have really helped me stay grounded in Python as well as explore a lot of areas of the standard library I wasn't familiar with.
On to intermediate!
Just wanted to drop a quick line here to say that Pybites helped me land my job as a Software Developer! Unlike other platforms, Pybites gives you a taste of real-world problems through bite-sized challenges; this is exactly what I needed to prepare for technical interviews. Seriously, big thanks to Bob and Julian for creating this and helping so many become better developers, you guys rock!!!
The pybit.es slack channel is an excellent example of how friendly the Python community is. The founders, Bob and Julian, took the time to reach out to me and to chat with me. I felt very welcome as a fresh Pythonista.
PyBites is currently the best platform which follows the 'practicality' approach. The bites, exercises and challenges will bring a sense of solving problems which matches real world scenarios. So I'd recommend this to anyone who likes Python or programming to move out the shell and get hands-on experience. Good work, Bob and Julian and all other members of the community.
I recently interviewed for this Data Engineer position. I was able to answer questions during their technical phone screening that I otherwise wouldn’t have known because I kept up with the bites.
I ended up getting an offer and I start next Monday!
It’s true that there is a degree of luck to this, but practicing allowed me to capitalize on the luck!
I started PyBites thinking it would be neat but was nervous to start. Once I got into I don't want to stop! I now want to complete all the Bites!
One of the most challenging things about learning a language is coming up with that first project idea and this takes that and turns it into small manageable projects that you are honestly tested on.
I would recommend this product to anyone wanting to be better at Python and it is a great community! I also greatly look forward to the messages from the Co-Founder Bob which helps encourage me to continue.
I now have the confidence to apply for a Dev Job! Wish me luck!
TL;DR: If you want to do more than follow tutorials PYBITES.
When I first started learning I read several books and did tutorials but I soon started looking for something that was just that step past the hand-holding offered by those resources.
CUE PYBITES. I've actually seen growth in my confidence and skill with Python after hammering away at the PyBites offerings. It is rather remarkable how the content here meets you right in that sweet spot of I think I can do this and I know I can do this.
If you run into problems or get in over your head the community is there to help, be warned they will not give you the answer, but they will hint and nudge and even push you in the direction you need to go, all you have to do is ask.
I look forward to the day when I am confident enough with the language, and programming in general, to do for someone else what these folks have done for me.
I can't thank the PyBites team enough for their dedication to building a solid learning platform for the beginner, intermediate, and advanced Pythonista alike. The variety of exercises continues to grow in depth and breadth, there are consistently new coding challenges to push your limits and expand your knowledge. The Slack community is a open and inviting place to share ideas and ask for help if you get stuck on a problem.
PyBites gets me up and motivated in the morning! It's better than coffee!
I've learnt many languages over the years, and the best way to do it's to write code and solve problems yourself.
This platform allows you to do that, plus see other people takes, which allows you to improve even faster by comparing and learning from your mistakes.
Plus it has learning paths, so if you know python and want to focus in scraping you can learn INCREDIBLE FAST advanced scraping techniques just following the path from beginner to advanced!
it's also ran by people that love learning and python as much as we do 😊
I think one of the nicest things about this is that it's giving me the confidence to say I am a programmer. I was just talking to some colleagues who want to learn Python (for data analysis) and they kept asking me if I thought they "had what it took to learn Python" and I remember being in that boat months ago. However PyBites' code challenges, going to PyCon, always listening to Python Bytes and Talk Python kinda switched my mindset and to be honest I think that's the biggest gain from this platform.
I came to PyBites to learn enough Python to become a Python programmer.
What I like about PyBites compared to other platforms like Pluralsight and Udemy is that I gain confidence and satisfaction every time I solve a code challenge.
I also feel like I learn better from doing code challenges than just watching videos and copying code.
I wanted to get into the practice of 'code everyday'. That's when PyBites came to my rescue.
Python is of course well documented and there is an ocean of resources to learn programming in Python.
But what I like the most about PyBites is that the Bites are so well structured.
By around the first 50 Bites I had not only come across so many new concepts but had also learnt their usage.
The Learning Paths are also amazing, by the end of last few Bites in every path I am just not alien to the concept anymore and what more the confidence that I get after solving every Bite keeps me going.
Staying here longer for the learning experience :)
I'm a newbie in Python and after taking some tutorials and work on them, I felt that I needed more. More practice, more structured and focused practice...as I have discovered here: deliberate practice.
After a month working in the platform (just a month) I feel more confident in writing code and solving problems. I know that it is only the beginning of a great and not easy journey, but in this month I have realized that you have to work outside your comfort zone in order to grow and learn new skills.
The Bites are perfect to do that work. You have to face problems with new tools that you have never heard about, this is hard, but it is amazing. You are not alone here, you have the community, the hints that help you figure out how to approach a solution to a problem...
And the best of all, you can share your solutions and see other people's solutions, and if you need it, ask for details. For me, reading other solutions is great, because you can compare different approaches and learn new ways to do things, new "Pythonic" ways to solve a problem.
Another thing that the platform has given to me is the change of my mindset. At first, with the first Bites, I was approaching solutions in a way (my way), but as I have been working on the Bites, comparing my solutions with other implementations, reading documentation and trying a lot of different ways to approach a problem, I feel that I have changed the way I am doing things now.
Bites are challenging, but if you work on them, you will learn a lot. And sometimes, when you have solved the problem, it feels like 'adrenaline'!!! :)
It has been just a month for me, I learned a lot and started a real mindset change. Sometimes it's hard, but you have to keep going!!
Thanks to Bob and Julian for this great platform, and for their work. They are always there if you need something.
I'm very glad to have discovered PyBites: I've spent plenty of time learning Python from various sources, but these largely describe the language and its features.
It's less common to find quality Python exercises that are both fun to do and push you into new aspects of Python, or develop your Python style.
The now 300+ 'Bites' cover a broad range of Python subject areas including unit testing, many ways of handling data, Python idioms, object orientated (OO) programming (esp. some of Python's powerful OO features), Pandas, decorators etc.
Some exercises are categorised into 'Learning Paths' to focus on particular subject areas; alternatively by difficulty: Beginner, Intermediate, Advanced (also a set of well-written 'Newbie Bites').
The PyBites website provides an in-browser editor, although I prefer to download the exercises and tests to work more offline (and upload on achieving a successful solution). This pairing of your exercise code with the pre-provided unit tests make for a convenient mechanism to see that you've got the right answer... or rather, *a* right answer. The tests are written to enable various possible solutions.
With each exercise there is also a discussion board that can be viewed once the exercise is solved: This makes for very interesting reading to see how others have solved the same exercise, often using very different routes to get there. ...and there's also PyBites' own suggested solution.
Having the breadth of topics means that unlike learning from many sources, it's much easier to see how a given part of Python is useful.
In my case I've found this really helpful for learning things like comprehensions, any()/all(), min()/max(), zip(), lambda functions and some more advanced OO features. Some of these are fairly Python-specific ways of doing things, so seeing others' solutions is helpful to make sense of them.
Using PyBites has meant that my programming in Python has become considerably more fluid and 'Pythonic'; thank you PyBites!
With PyBites I learned more in the two weeks trial period than I have learned in the years of reading Python books.
I find myself reaching for the permanently pinned tab to solve Bites whenever I am even supposed to be slacking around. That's how addictive it is.
Kind regards and keep up the good work.
I have been learning Python for a while and I believed that I had some Python skills until I tried coding the PyBites exercises, then I knew my Python really needed an overhaul. Thank you Bob and Julian for creating the PyBites Platform.
I think I'm a pretty typical case of a self-educating (emphasis on the present tense) programmer. Coding started as a hobby for me and my aim now is to go through a career change.
In my journey, I've had a fair share of experiences with different sites teaching Python. Out of those sites, PyBites code challenge is by far the best I've ever experienced.
What's so good about it is it holds your hand just enough for you to do your own research and study. At the end of the day, what raises you as a coder is not the tutorials, that hold your hands throughout the whole way, but the ones that let go of your hands when they know you can stand on your feet, albeit it's very difficult sometimes.
I would definitely recommend PyBites CodeChalleng.es to anyone who's interested in learning Python.
During my long commutes, I wanted to invest the time, instead of being bored out of my mind.
I started listening to TalkPythonToMe, which lead me to #100DaysOfCode. After spending a couple of hours every day on the challenges,
I got access to some bites on the platform and I got hooked! Perfect timing as the Python Bundle was right around the corner and it was the start of my vacation.
I got hooked to the level-based approach. The introduction to the different parts of the standard library and the complexity of the challenges is perfect. It is hard enough to need to read through the documentation or to justify the approach while being specific enough to not 'waste time' on boilerplate code.
Before using PyBites and TalkPythonToMe I saw myself as a python script kiddy, enough knowledge to get the job done but no idea how to do it 'pythonicly'. I've completed all of the challenges on the platform in a rather short amount of time because I really enjoyed every bite. In a short period, I feel like I learned how to tackle a large variety of common tasks and know what is considered 'pythonic' and what isn't in most cases. :)
Now I spend more time on in the standard library documentation or other docs instead of looking up google queries/stack overflow questions.
Thanks, PyBites for this challenging (and addicting) platform!
I liked the concept of PyBites from the very beginning: you are given a (admittedly sometimes quite sketchy) problem and asked for a solution. Whether your solution is correct is only decided by the tests you have access to right from the start.
You can start coding immediately, solve the problem in your own way and go back and forth several times while trying to pass all the tests. Once you have managed to solve the bite, at least somehow, you look at the author's solution and are startled at what is possible in Python and how nice a solution can look and read (but there are those rare cases when your solution might be even a tad better, whatever that means to you).
Then you go over to the Forum to look at other people's code and solutions and learn even more. You liked the topic of the exercise, so you decide to do a few more bites labeled with the same concept you just learned about, or with the same Python Standard Library you've always heard about but never had a chance to try out.
And once you have achieved a few successes, you get bolder and decide to follow a learning path and go down the rabbit hole to learn about data types, algorithms, collections, OOP, web scraping and even bioinformatics!
And I haven't even mentioned the wonderful Slack community, the people there who support and encourage you, the warm welcome if you want to contribute to the community projects or help improve the learner's experience.
The PyBites community is the only community I return to frequently and where I can be sure that it meets my needs and always has the answers I'm looking for or provides just the right amount of energy to keep me engaged with what I'm doing or trying to achieve. You guys are great!
Before beginning on PyBites, I took an in introductory course which I paid for. I've already learned more in the few weeks I've been on this site than the three months taking that course!
Getting stuck on problems, researching and finding the answer really make the concepts stick, and it's FUN!
Update after doing the 100 days of code (100 Bites):
Looking back on the Bites I was solving a few months ago, I have learned an incredible amount! WAY too much to list here. Perhaps even the most useful skill I learned was perseverance.
Knowing that I can solve any issue I run into by just sticking to it, has lead me to start building my own app to help me out with my current job. I will definitely still be coding every day!
You guys aren't developing an army of geeks or nerds. You're developing an army of problem solvers and that's a nobel deed ! It's very inspiring.
I've been practising using other platforms such as Leetcode, and Hackerank, but I found PyBites significantly more advanced considering both content and website interactivity. Very recommended even if you are not new to Python!
This is a great platform for getting started with Python and pulling you along to a decent level and beyond. It removes most of the 'what should I try or do next?' which can be the cause of a stall in learning. All you need to do each day is crack on with the next Bite or challenge, and your knowledge and skill grows along with the time invested. I'm hooked.
Today I am really glad to write a Testimonial for PyBites. I am grateful to the pioneers of PyBites - Bob and Julian.
Two years back I used to see daily PyBites tweets on Twitter and wondered what PyBites was all about. I went to their website and found their Code Challenges. But I left it there, because I felt how on earth am I going to solve these Challenges? The tasks were challenging without giving anything away. There were hints, tips and references. However, It looked daunting so I quit.
I enjoyed working with Python and had programmed in it at work. But never really mastered the nuts and bolts of the language.
Then PyBites joined Michael at talkpython.fm to produce the #100DaysOfCode and #100DaysOfWeb courses. That is when I took PyBites seriously. I understood their concept of learning a programming language - deliberate practice and building out things. I gradually understood that this is the way to learn anything.
The following are some of the features of PyBites which stand out for me:
1. Bite exercises
These are real-world tasks (with increasing complexity) which you have to solve using Python and its ecosystem. Your solution for each task goes through well-thought-out tests that you need to pass to complete the task.
2. Blog Code Challenges
These are open-ended real-world challenges. You have full freedom to expand your imagination and come up with solutions for the challenges. The platform provides you with references, hints and tips to complete these challenges. The best part is the code review that takes place after you have checked-in the code to Github. If accepted, your PR gets accepts. How cool is that?
3. Deliberate Practice
The PyBites platform caters to everyone who wants to master the Python programming language. If you are a complete beginner, you can start with the "Newbie Bites" and then move on to more advanced Bites. To master a programming language, you need to consistently and deliberately practice. The "Coding Streak" calendar should motivate you to practice consistently.
4. Makes you uncomfortable
The Bites makes you uncomfortable most of the time. That is fine. This is the way you learn. The platform will push you to come out of your comfort zones. You will struggle, you will have to look up documentation, you will have to learn a new thing and so on. But in the end, you will master some of the concepts which you though you will never understand.
Your solution to the Bites run against tests written in pytest. The tests are rock solid and make sure that you struggle, learn, and complete the task. I go through the tests after reading the description of a Bite. I have learned to work with pytest just by reading the tests for each Bite. The best part is you can recommend changes to tests if you believe they are inadequate.
6. Forum and Slack Channel
These are the best parts of the PyBites Platform. The people there are welcoming and always ready to help.
Forum - After completing a Bite, you can post your solution on the Forum, you can compare your solutions against the solutions of others. The Forum is a "GoldMine". You are sure to pick up something from there for free. Many a time, I have picked up certain things which I reused in my future Bites. Lots of good discussions happen here. You will get upvoted for your hard work as well. You can discuss how you have solved a particular problem and others will benefit from it. I felt really glad when one of the users of the Platform came back and told me that he learned from my solution.
Slack Channel - Sometimes you get stuck on a problem. But don't worry, you can always go to the Slack Channel and ask for help. They will not give you the solution but will nudge you to go to the next step. More often than not, that's all you need to crack a problem. Oh, I forgot "Karma", that's a surprise awaiting you there. 😀😋
7. Learning Paths
No, no, this is not a place where they teach you something and leave it there. They don't teach anything here. These are well-tailored paths that you can take by solving Bites along the way to master a skill in Python. For instance, you want to master decorators and context managers in Python - the Platform lets you do that and awards you with badges. I like to go the "Learning Paths" way -- master skills in Python one at a time.
8. Profile, Ninja Belts, Certificates, and Badges
You will get all these things as you climb the ladder on the Platform. These give you gratification and will motivate you to go further. These are essentials for your journey and allow you to showcase the same on your profile.
9. PyBites Blog
Blogs give you that critical necessary pieces of information to improve your knowledge. They will help you not only to solve the Bites but also to apply them in your side projects and work. The blog also talks about productivity and gives you valuable tips.
These are cherries on the "Platform" cake which you don't want to miss. These are some "Pythonic" ways to master so that you become a better Pythonista. When you solve a Bite you are gifted with a tip that links to Twitter. Make sure to learn the tip and apply it at the next possible opportunity. Recently the Platform launched a feature where you can subscribe for tips and they will be delivered to you in the mail. So you always have a one-stop place for the tips.
I am really glad that I found PyBites and the community here. A major part of my Python mastery is because of this Platform. So I recommend the PyBites Platform to anyone of any level, to master the Python Programming Language. Come join me @Pybites and you will be amazed by the progress you will make.
Nitin George Cherian
(A Pybites Fan and Ninja)
PyBites was very challenging when I first started. But, I quickly found that the testing system provided helpful, instant feedback. The bites push you to learn new aspects of the language and how they fit together to solve a problem. The successes spur you to keep trying and this creates a virtuous cycle. It's a bit embarrassing but I started dreaming about Python! I can honestly say that the platform took me from beginner knowledge to intermediate. I definitely recommend it to anyone who would like to stretch their limits.
PyBites has been the first time my newly acquired coding skills are starting to stick.
Keeping the streak going daily keeps me motivated to attempt a Bite a day. After solving it and comparing my code with the solution also fascinates me how much more room there is to learn. How powerful the language is.
3 weeks into it, and i'm starting to form a habit of daily problem solving with PyBites. I am hoping over the next few weeks i can take this knowledge and start applying it to my day job outside the world of software.
I spent too long floundering in Tutorial Purgatory before encountering the Pybites Code Challenges. The challenges vary in difficulty, don't have to be done in order, and each covers a limited objective, such as using Pandas in a particular way. Some bites need only the standard library, others introduce you to useful third-party libraries and APIs. These aren't exhaustive deep dives, but enough of an introduction to accomplish something useful enough to adapt to your own projects: parsing an RSS feed, analyzing data scraped from a web page, cleaning up text, searching logs, and so on.
Unlike some more structured training sites that require letter-perfect solutions before you can move on, PyBites uses - and in many cases lets you see - the tests that judge your solution, written in pytest. Your code can be ugly and evil, but if it passes the tests, you can see the official solution, and access the bite forum that shows how others in the community solved it. I'm often embarrassed by my solutions, but even winning ugly is worth it for the learning experience and the feedback you can get from sharing your code. It's not about getting THE correct answer - often there are multiple ways to do it - but about consistent improvement, and being able to go back and see your progress.
As a software tester, I really appreciate the pytest modules and often find that building my solutions through TDD is a great way to learn. I appreciate the wide mix within the PyBites community - complete beginners to data scientists and prominent Pythonista bloggers, podcasters, and trainers.
The gamification aspect can be addicting, but I've learned not to take it personally when others rise through the ranks like pool sharks. When they're coming up fast or slightly ahead, I'm motivated to work a little harder, until they leave me in the dust. But there's always someone else behind them to keep you going. There's a real satisfaction in rising through the ranks, earning the next "belt." The community - here and in the Slack channel - is very supportive and helpful. You can get help when you're stuck, and cheers when your submission returns Green.
This site has kept me coming back for over a year now, and I see a real improvement in my ability to code and solve problems in Python. There are new bites nearly every week, and the site is continually evolving with new features. Completed bites are worth revisiting as new members post their solutions, helping to refresh and reinforce the concepts you learned when you solved it.
Hi, I'm Rodrigo a chemical engineer graduate moving into software development. I started studying this year (2020) and because of my interest in Data Science and Machine Learning, I primarily focused on Python.
Among all the books, online courses and other sources I found PyBites. This time my interest to learn Python deeply increased a lot.
It's hard to describe how much I learned, even after doing only a few Bites of the Object Oriented Programming learning path. It was incredible, I got more confident and started to directly apply several concepts I learned.
Then in July I got selected for an interview for a Data Scientist where I needed to deliver a project. It was really cool: in addition to doing the standard code construction in a Jupyter notebook, I built a class to help with the solution, using various "dunder" methods, decorators and everything else I learned here. And in the end, they hired me!
Today I'm still learning a lot thanks the habit of daily practice the PyBites platform instills. I recommend PyBites to everyone who REALLY wants to learn Python. Thanks Bob, thanks Julian and now let's get some more code in!
Regardless if you're new to coding or an experienced developer, the greatest approach to hone and advance your skills is by coding daily. Even if just for 30 minutes a day. I've been teaching myself to code for a few years now and I've used countless resources to do this. But, NOTHING has dominated the benefits I've received growing my skills on PyBites. PyBites is a FANTASTIC platform with a GREAT and FRIENDLY community. There is ALWAYS someone willing to help anyone else out. You should come join us!!
Dennis Ritchie said: “The only way to learn a new programming language is by writing programs in it”. This saying is completely justified by PyBites! Their platform gives you immense possibilities to play, experiment and learn with so many different types of pythonic problems, ranging from code challenges, bites and even their interactive courses. Apart from these, PyBites is a community of its own kind. You get help whenever you are in need. Since so many Pythonistas from all across the globe are active here, you get 24*7 support to continue learning in an efficient manner. I literally gained a lot from this place by solving code challenges and learning from and talking to great mentors who are always ready to give you the deepest insight possible. You literally can talk to them even for moral support. How cool is that, don’t you think? Come join our community and become a PyBites Ninja. Happy Coding!
PyBites is the best platform I can recommend for beginners and advanced Pythonistas. Before joining I was reading books and would not apply anything I learned.
On the PyBites platform however I learned:
1. to use many Python libraries. There are plenty of ways to arrive at a solution and through PyBites I learned about many modules in the standard library using them for my solutions. In the discussion forums I learned how to code more "Pythonically",
2. that providing a solution to Bites is one thing, the unit tests that are part of every Bite are really worth reading as well (the test code for every Bite uses different pytest features),
3. that PyBites has a great, wide ranging slack community of pythonistas of all levels. I have had the freedom to share my queries and the community has been really helpful.
It's been 2 months since I joined this community and my progress is really good. Not only did I learn about a lot of modules, I also learned how to write better unit tests.
I have spent time on a number of "coding tutorial" sites, often-times feeling like it's the same old task-oriented exercises (i.e. take an input and print all even numbers between 0 and the input to the console).
PyBites is the first platform that has felt much more "well-rounded", challenging me to solve actual problems, as well as implement "full" code [as opposed to snippets]. Great work!
After trying Object Oriented Programming on Python, to say I was confused, would be me saying the least. For whatever reason, I just didn't know what I was doing. Tutors were all recommending, cram this, flashcard that, but when it came to using it, I was always lost. I asked about it on a slack channel and two members directed me here.
The first day I tried a "beginner" OOP challenge, I had to research multiple things, not just what I wanted to learn. That's one of the most valuable thing in this platform, it's not like your mathematics class where if you're learning quadratic equations, you only have to deal with quadratic equations. This platform encompasses different aspects of logic that no book can teach you.
The slack community is an invaluable resource, everyone tries to help one another, anyway they can. We all need help, some time or the other, I know I did. I was stuck somewhere, I posted about it and someone helped me regain my confidence.
In my opinion, you should stop reading how to, when to, why to, and just "do". The best way to learn is by putting yourself in uncomfortable situations and trying to become comfortable, that's what PyBites does for the aspiring Pythonista.
~My 50 cents.
I'm a career technology professional with 30 years experience. I've always known how to string bits of code together to create simple, process oriented automation, but quite frankly as we enter a new century those skills just don't cut it in a modern Devops environment where everyone effectively needs to be a software engineer in order to make a sincere contribution to their teams velocity.
I'd tried various other learning platforms, and enjoyed them to a greater or lesser extent, but for me the Pybites platform with its gamified instant gratification and superb depth and breadth is the only one that's kept me coming back for more consistently for months at a time.
Beyond the bites themselves, the Challenges offer an opportunity to really leverage the wisdom of the community to level up your craft, learning how and when to use better idioms to solve problems more quickly.
I expect to be enjoying PyBites for some time to come, and owe Bob & Julian (as well as their collaborator in their superlative 100 Days of Code with Python course, Michael!) my sincere and heartfelt gratitude for helping me get that aspecf of my career on track.
After being a Pythonista for some time through online reading and writing my own code, I still felt like I missed out on a lot of concepts to make my code more Pythonic and to make use of Python's full potential.
By taking a couple of challenges a day, I managed to take in some more difficult concepts that I didn't understand before.
The bites are just that, small bites of information, all coming with a different Python feature or chaining features together into full-blown usable tools. This allows you to learn at your own rate, while taking breaks as you deem necessary.
The community is very active and helpful if you have questions or you just wanna have a laugh while taking a break from coding. Any problems on the platform or questions about why your code doesn't run? There's always someone to help.
If you're looking for a Python community where you can REALLY develop your skill while getting support from people around the world, don't look any further.
A final note for Bob and Julian, I'm still fresh meat in the community, but the way you guys are handling things makes people feel appreciated as members.
Python has become interesting again and we don't get overwhelmed with useless information. It's a huge language, so sometimes you need a roadmap to get from point to point. You have done a tremendous job mapping this all out.
Thank you guys for turning us into real ninja's :-)
While I don't program for a living, I've just finished a daily streak of 52 PyBites in a row, and I have to say the experience has led to great progress in Python.
PyBites introduced me to a wide range of modules that I wouldn't have forced myself to get familiar with on my own. The self-contained online testing system in a browser is genius.
I can start a PyBite on a desktop and continue it on a laptop - a seamless experience that integrates coding, testing, solutions, and a forum tailored to discussing that exact PyBite with others who have attempted it.
Work is very busy, but I also want to be able to stay current and fluent with my programming skills. Your platform makes it extremely easy to do so -- pybites provides a ton of structure and guidance, takes away a lot of the tedium and boilerplate around setting up dev environments and such, and allows me to get straight to the practice.
I also love how you cover different themes/skills across the various bites. The fact that exercises are bite-sized makes it easy to dabble and get a lot of variety in the skills we choose to practice. You also have a great community here that provides help when we need it, and you constantly add new bites.
Thank you for setting up this platform -- love it :)
Overall the PyBites is a great resource to jump in and begin coding in Python. Each bite showcases a certain topic in Python that helps establish the fundamentals of the language. Looking forward in continuing the journey. :)
If you want to be a Python programmer, or if you are already one, Pybites platform has a lot to offer you in terms of newbie, intermediate, advanced exercises and long form blog challenges.
These exercises are not merely puzzles that you solve in Python. In contrast to many other coding challenge platforms, these are real world problems you would face while learning Python and building apps. It is very convenient to solve the exercise in the browser, run tests, and look at the solution and discussion to learn the Pythonic way to solve problems. You have various learning paths if you want to focus on concepts such as OOPs, testing, algorithms, etc.
The badges, the 100 days challenge, tracking daily activity keeps you motivated to get better everyday. The slack community is very welcoming, and helpful. I see immeasurable value from this platform, and it is worth every cent many times over.
Bob and Julian, thank you so much for this platform. I really appreciate your work, and it has helped me immensely to get better in Python.
I'm really enjoying the Bites! I have not made this much progress in my tech skills in a while and it feels invigorating! Specifically i like that you have: 1. designed the Bites so that they are fairly ambiguous and one has to use Stack Overflow/Google to solve them - this is a good simulation of what a dev does at work / 2. the testing is not too constrained so even if I import different modules etc, tests will still pass. I've noticed that on other platforms, testing is "dumbed" down which can get frustrating. Keep the infinite supply of Bites coming ...
I used PyBites extensively during my first 100DaysOfCode round. It is an excellent platform for learning Python. Most exercises are bite-sized enough so there is always room to get in at least one of them even on a busy day. It felt I learned a lot of Python language fundamentals, from beginner to advanced topics, by doing different exercises each day. Also I think the test-driven approach in the exercises are a great for learning, and inspires good routines in programming. On top of all that, they make it fun to learn Python, with scores, Ninja belts and what not!
I spent about 2 months using sites like Udemy and Codeacademy and while they are good, I've learned more with the challenges here in 3 days than I have in the last 2 months of watching videos and doing very basic exercises. The challenges aren't easy but they do force you to code, fail, Google, read docs, Stack overflow, code more, learn and finally solve the problem. PyBites has been immensely helpful.
PyBites gave me the practice and skills needed to succeed at interview coding challenges, which lead to my first software engineering position! I successfully made a career change with the knowledge and skills I gained from solving bites.
The learning paths gave me focused challenges to help hone my Python skills, specifically the Object-Oriented Programming and pytest learning paths which are skills companies are looking for when hiring new engineers.
I have also learned more about Python’s standard library in the few months of solving bites than any of my previous experience. The standard library is one of Python’s biggest strengths and with PyBites you get the opportunity to learn about libraries such as re, datetime, collections, itertools, functools and much more. I feel much more confident in my ability and knowledge within the Python ecosystem because of PyBites.
I also highly recommend joining the PyBites community to share your programming wins, ask questions about a specific bite or if you want to talk Python! The community is very active and open to everyone.
I am a network engineer, not aspiring to be a developer at all. At the beginning, I just wanted to learn some Python to automate stuff. However, after trying PyBites I delved much deeper and learned much more than I ever supposed to. You guys, came up with an absolutely fascinating way to teach a programming language, and I'm grateful to you for all the fun I had and all things I learned. Thanks, and best luck to you developing this project (and any others you may start in future).
For me, the PyBites platform provides an incredibly helpful medium to progress and practice.
The bites often necessitate reading up on unfamiliar modules, libraries, built-ins, etc. Without the problem-solving context of PyBites, it would be almost impossible to absorb the information.
I particularly like the subtle guidance given in the form of “hint tags” associated with each “Bites Of Py” exercise. They don’t give much away but point you in the right direction – that’s a great way to learn!
Thanks for providing the PyBites portal. This is indeed a rocking platform to get hands on coding experience.
In my opinion it's good for anyone regardless of experience. It's especially wonderful for those who want that 'Kickstart" as sometimes it's hard to start (due to n numbers of factors).
For me it was awesome to solve some of the problems where I was able to learn and understand some of the hidden secrets in Python. The solutions provided also demonstrate how to make readable (pythonic) code, which I believe is the best feature.
I am very happy that I found this site and look forward to learning more!
This is a truly amazing platform, I feel motivated everyday. Once you get a momentum is hard to let it go.
New to Python? Start here.
|Monthly cost (USD)||
($ 16.66 when billed yearly)
($ 6.66 when billed yearly)
|Number of Bites accessible||17||332||4 / month|
|Highest belt to achieve|
|Run your code only (without tests)|
|Bulk download your code|
|Private Slack Channel|
Rather pay upfront, unlock specific exercises and own them forever? Check out our Bite exercise bundles.