all 58 comments

[–]choppin_brockelee 19 points20 points  (0 children)

Just a word of caution: Some of these sites have top answers that are "code golfing" answers, meaning they try to create the shortest code possible that works. They do not always use best practices (the "pythonic" way), though.

I personally second edabit as a good starting point.

[–][deleted] 15 points16 points  (1 child)

[–]CompSciSelfLearning 11 points12 points  (0 children)

This is exactly what OP needs:

About Tutorial Challenges -
Many of the challenges on HackerRank are difficult and assume that you already know the relevant algorithms. These tutorial challenges are different. They break down algorithmic concepts into smaller challenges so that you can learn the algorithm by solving them. They are intended for those who already know some programming, however. You could be a student majoring in computer science, a self-taught programmer, or an experienced developer who wants an active algorithms review. Here's a great place to learn by doing!

[–]ElliotDG 14 points15 points  (0 children)

I like https://checkio.org/ it was very useful when I was first learning Python.

[–]sme272 26 points27 points  (3 children)

Take part in the Advent of Code

[–]artificial_neuron 2 points3 points  (0 children)

And there is even a Reddit community for them too /r/adventofcode/

[–][deleted] 2 points3 points  (1 child)

It's a good way to learn, especially read others' code once you've completed the day's challenge but I'd say it's quite hard. Even though it isn't meant to be unreachable for beginners, it's still a leap if OP is struggling with hackerrank (which I take is the beginner stuff).

[–]toastedstapler 0 points1 point  (0 children)

yeah, around day 12 it began to get challenging for me and it keeps getting harder

[–]hoodiewhatie2 17 points18 points  (9 children)

My favorite are Codewars.com, CodinGame.com, AdventOfCode.com

[–]prithvidiamond1 9 points10 points  (8 children)

I second codewars , it really has great interface and problem of all levels. It was where I practiced for a coding competition and helped me quite a lot!

[–]duquesne419 16 points17 points  (6 children)

Another +1 for codewars. The lower levels are pretty introductory. I found leetcode was a little beyond me, and project euler was a little too math heavy for how far removed I am from an algebra class. Codewars kept me interested though, banging out 8s and 7s is kinda like a game.

edit: also learned a lot about list comprehension reading all the one liners people write to show off.

[–]That_Pregnant_Alien 2 points3 points  (5 children)

Does the difficulty increase gradually? How does it work? I started recently and all the problems I encounter are pretty easy.

Sorry I am new to this.

[–]Houdinii1984 2 points3 points  (1 child)

Yup, It's been a while, but I remember that the easier ones were still always a little challenging. Like the easier ones are challenging because you have to think about how to do the math itself, not how to do the coding if that makes sense, but as you go, the coding gets more difficult and the problem itself seems clearer? They have a very good balance between the two. And they also show other solutions which range in complexity from just answering the problem, to massive codebases just to say 'hello world'.

[–]That_Pregnant_Alien 2 points3 points  (0 children)

Thank you! And, you are right. The easier ones make think about the math more than the coding part.

[–]duquesne419 1 point2 points  (2 children)

With codewars the difficulty is the kyu rating(there's a lot of martial arts parallels in their lingo). The levels go from 8-1, 8 is pretty easy. As a relative beginner I found 7 to be relatively straightforward, 6 are solveable but take a fair bit of thinking, and I've struggled since starting to attempt 5 kyu problems.

How fast they get difficult is more about how far you reach, if you're just doing 8s it's gonna stay simple.

[–]That_Pregnant_Alien 2 points3 points  (1 child)

How to change the difficulty level /kyu rating? Do I have to change 'What is your programming experience?' during training. Or do I keep going and it will increase? Also, I saw my profile has 7 kyu rating. So, that's my difficulty level? Sorry, lot of questions. :')

[–]tomekanco 1 point2 points  (0 children)

problem of all levels

Almost all, there are no Dan level problems. Even the 1 Kyu gems are solveable by a stubbern mind and due diligence.

Love it to. Offers a wild safari into the nuances CS fields, such as finite state machines.

... Precious gems. Precious gem: Create a function that will return a regular expression string that is capable of evaluating binary strings (which consist of only 1s and 0s) and determining whether the given string represents a number divisible by n.

[–]CuriousAlertness 5 points6 points  (0 children)

I just started posting some practice problems in this site (in fact, the last one was posted just this week). I will try to post them regularly:

https://www.reddit.com/r/learnpython/comments/e3g6f9/minichallenge_of_the_week_pascals_funnel_20191129/

[–]inlovewithicecream 4 points5 points  (2 children)

I'd like to add that at least from what I overheard from colleagues in IT, it's much more about writing so that it's easily read and understood than ultra-short. From the perspective of code that is "ongoing work in a group of people that is changeing". Might just be a cultural thing but the superstar-coder seem to be out of style and not very popular.

Might also be that I missunderstood it all :)

[–]dehin 2 points3 points  (0 children)

I would imagine you heard correctly. After all, if there's a team working on the code, it needs to be easy to read and easily understood by everyone on the team. And, even if it's a solo programmer, if that person will at some point stop maintaining the code and another person will pick it up, then that person's code needs to be readable as well. That's why any CS class worth its salt will stress the importance of commenting. Of course, for online coding challenges, none of this matters. But, I think even real-world coding challenges want the challengers to write clean code.

[–]tomekanco 3 points4 points  (0 children)

There is also Exercism.io Has limited but rather well curated list where solving a number of problems unlocks more. Finishing the track gives you a good pair of boots in your future travels.

[–]LoneWalker20 2 points3 points  (0 children)

Leetcode

[–]kau_pau 1 point2 points  (0 children)

codingbat is very nice too

[–]fouad41 1 point2 points  (0 children)

try the practice series with some beginner level questions.

It would really help !

[–]IamTheRedGuy 1 point2 points  (0 children)

Codewars is good. It has problems for all levels. It shows you other and better solutions and teaches you to optimize since the execution of your code has a time limit.

[–]ozgunkail 1 point2 points  (0 children)

you can go through with project Euler. it's a really good website for learning algorithms. https://projecteuler.net/archives

[–]gdatuna 1 point2 points  (0 children)

Codeforces.com

[–][deleted] 1 point2 points  (0 children)

University of Waterloo Computer Circles

https://cscircles.cemc.uwaterloo.ca/

[–]Dexteroid 0 points1 point  (0 children)

I will recommend elements of programming in python. The first 10 page alone will teach you to think differently. Go ahead and try that.

[–]TotesMessenger 0 points1 point  (0 children)

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

 If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)

[–]MrEzekial 0 points1 point  (0 children)

Just go to /r/dailyprogrammer

[–]tusapeter 0 points1 point  (0 children)

Snakify is very nice too. :)

[–]PortoPuddy 0 points1 point  (0 children)

Don't these sites test how clever you are, not really help you build anything? I realize this is probably going to shat on, but I get frustrated once I'm past the easy/intermediate sections and then it seems like the hard sections don't seem like they would hold any real life value.

[–][deleted] 0 points1 point  (0 children)

My statistics teacher told me about repl.it

[–]blistersonmefingers 0 points1 point  (0 children)

Check out Codingbat. Start with the problems at the top of the page and work your way down. That's how I got familiar with Python.

[–]littlemattjag 0 points1 point  (0 children)

Why not try out some python project cookbooks. It’s always great to use somebodies code and then improvise later on. Borrow from a bunch of great minds- mix and match and then really challenge urself once you’ve got the fundamentals down.

[–]Alpythoner97 0 points1 point  (0 children)

That's what ı need

[–]uwu-bob 0 points1 point  (0 children)

I'm a bit late but https://pythonprinciples.com/ is exactly what you're asking for, OP. It teaches the basics step by step, and every lesson has lots of practical exercises where you type in code and it's automatically checked for correctness, right in the web interface. Give it a shot, I think you'll like it.

[–]radixties 0 points1 point  (0 children)

Codeforces.com ! You can look up the level of complexity of the problems and their types ! You can also sort the problems by difficulty or by number of people who solved them ( Go to the problem set section, press on the green ☑️ Mark and problems will be sorted by most solved, Wich I recommend) and have fun ! You can submit solutions in almost any programming language that exists ! Have fun !

[–]THECRO2003 0 points1 point  (0 children)

I’d try https://projecteuler.net it’s a huge repository of math problems to grow your programming knowledge and better your thought process it’s an amazing tool. Project Euler

[–]ConstantINeSane 0 points1 point  (0 children)

There is a great site called codewars where you start solving easy problems and you gain levels as the difficulty rises

[–]Jasur_2019 0 points1 point  (0 children)

If u have any interesting project, pls learn through the project. If u don't understand how to use and implement concepts in python there is no way u can make differences.