You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<content type="html"><p align="center"><img src="/images/python_what_next.png" alt="Python what next" /></p>
@@ -9824,22 +9824,23 @@ The substitution works from start of the line for every iteration of the while l
9824
9824
</ul>
9825
9825
<p>I do not have a simple answer to this question. However, I'll list a few topics along with resources that might help you take the next step in your Python learning journey.</p>
9826
9826
<br>
9827
-
<h2 id="exercises-and-projects">Exercises and Projects<a class="zola-anchor" href="#exercises-and-projects" aria-label="Anchor link for: exercises-and-projects">🔗</a></h2>
9827
+
<h2 id="exercises">Exercises<a class="zola-anchor" href="#exercises" aria-label="Anchor link for: exercises">🔗</a></h2>
9828
9828
<p>If you feel comfortable with programming basics and Python syntax, then exercises are a good way to test your knowledge. The resource you used to learn Python will typically have some sort of exercises, so those would be ideal as a first choice. I'd also suggest using the below resources to improve your skills. If you get stuck, reread the material related to those topics, search online, ask for clarifications, etc — in short, make an effort to solve it. It is okay to skip some troublesome problems (and come back to it later if you have the time), but you should be able to solve most of the beginner problems. Maintaining notes and cheatsheets will help too, especially for common mistakes.</p>
9829
9829
<ul>
9830
9830
<li><a href="https://exercism.org/tracks/python/exercises">Exercism</a>, <a href="https://www.hackinscience.org/exercises/">Hackinscience</a> and <a href="https://www.practicepython.org/">Practicepython</a> — these are all beginner friendly and difficulty levels are marked</li>
9831
9831
<li><a href="https://github.com/learnbyexample/TUI-apps/tree/main/PythonExercises">Python Exercises</a> — my interactive TUI app, suited for beginner to intermediate level Python learners</li>
9832
9832
<li><a href="https://inventwithpython.com/pythongently/">Python Programming Exercises, Gently Explained</a> — includes gentle explanations of the problem, the prerequisite coding concepts you'll need to understand the solution, etc</li>
9833
9833
<li><a href="https://adventofcode.com/">Adventofcode</a>, <a href="https://www.codewars.com/">Codewars</a>, <a href="https://www.pythonmorsels.com/">Python Morsels</a> — includes more challenging exercises for intermediate to advanced level users</li>
9834
-
<li><a href="https://py.checkio.org/">Checkio</a>, <a href="https://www.codingame.com/start">Codingame</a>, <a href="https://codecombat.com/">Codecombat</a> — gaming based challenges</li>
9835
-
<li><a href="https://old.reddit.com/r/dailyprogrammer/">/r/dailyprogrammer</a> — not active currently, but there are plenty of past challenges with discussions</li>
9834
+
<li><a href="https://py.checkio.org/">Checkio</a>, <a href="https://www.codingame.com/start">Codingame</a> — gaming based challenges</li>
<p><img src="/images/info.svg" alt="info" /> See also this article on <a href="https://www.pythonmorsels.com/programming-exercise-tips/">solving programming exercises</a>.</p>
9838
+
<br>
9839
+
<h2 id="projects">Projects<a class="zola-anchor" href="#projects" aria-label="Anchor link for: projects">🔗</a></h2>
9838
9840
<p>Once you are comfortable with basics and syntax, the next step is projects. I wrote a 10-line program that solved a common problem for me — adding <code>body { text-align: justify }</code> to <code>epub</code> files that are not justify aligned. I didn't know that this line would help beforehand. Found a solution online and then automated the process of unzipping <code>epub</code>, adding the line and then packing it again. That will likely need you to lookup documentation and go through some stackoverflow Q&amp;A as well. And once you have written the solution and use it regularly, you'll likely encounter corner cases and features to be added. I feel this is a great way to learn and understand programming.</p>
9839
9841
<p>These days, I use a better EPUB reader that allows me to customize alignments. Here's another real world example. I'm on Linux and use the terminal for many things. I wanted a CLI tool to do simple calculations. There's <code>bc</code> command, but it doesn't accept direct string argument and you need to set <code>scale</code> and so on. So, I looked up how to write a CLI tool in Python and <a href="https://learnbyexample.github.io/practice_python_projects/calculator/calculator.html">wrote one using the built-in <code>argparse</code> module</a> that works for my particular use cases.</p>
9840
9842
<p>Here are some resources to help you get started on projects:</p>
9841
9843
<ul>
9842
-
<li><a href="https://learnbyexample.github.io/practice_python_projects/">Practice Python Projects</a> — my book on beginner to intermediate level projects</li>
9843
9844
<li><a href="https://github.com/karan/Projects-Solutions">Projects with solutions</a> — algorithms, data structures, networking, security, databases, etc</li>
9844
9845
<li><a href="https://github.com/practical-tutorials/project-based-learning#python">Project based learning</a> — web applications, bots, data science, machine learning, etc</li>
9845
9846
<li><a href="https://github.com/norvig/pytudes">Pytudes by Peter Norvig</a> — Python programs, usually short, of considerable difficulty</li>
@@ -9848,7 +9849,8 @@ The substitution works from start of the line for every iteration of the while l
9848
9849
<li><a href="https://inventwithpython.com/bigbookpython/">The Big Book of Small Python Projects</a></li>
<li><a href="https://nostarch.com/impracticalpythonprojects">Impractical Python Projects</a> and <a href="https://nostarch.com/real-world-python">Real world Python</a></li>
9852
+
<li><a href="https://nostarch.com/real-world-python">Real world Python</a></li>
9853
+
<li><a href="https://learnbyexample.github.io/practice_python_projects/">Practice Python Projects</a> — my book on beginner to intermediate level projects</li>
9852
9854
</ul>
9853
9855
</li>
9854
9856
<li><a href="https://old.reddit.com/r/learnpython/comments/k5k1h0/what_do_you_automate_with_python_at_home/">/r/learnpython: What do you automate with Python at home?</a></li>
@@ -9867,7 +9869,7 @@ The substitution works from start of the line for every iteration of the while l
<p>Here's an interesting snippet (paraphrased) from a collection of <a href="https://stackoverflow.com/q/169713/4082052">interesting bug stories</a>.</p>
9872
+
<p>Here's a summarized snippet from a collection of <a href="https://stackoverflow.com/q/169713/4082052">interesting bug stories</a>.</p>
9871
9873
<blockquote>
9872
9874
<p>A jpeg parser choked whenever the CEO came into the room, because he always had a shirt with a square pattern on it, which triggered some special case of contrast and block boundary algorithms.</p>
9873
9875
</blockquote>
@@ -9916,7 +9918,7 @@ The substitution works from start of the line for every iteration of the while l
<li><a href="https://pythonforbiologists.com/29-common-beginner-errors-on-one-page.html">Common beginner errors</a> — use the pdf link</li>
<li><a href="https://learnbyexample.github.io/python-regex-cheatsheet/">Python regular expression cheatsheet</a> — my blog post, includes examples as well</li>
0 commit comments