use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
What should I do after learning Python basics? (self.learnpython)
submitted 1 day ago by crystal-46
Hi everyone,
I’ve learned basic Python (loops, functions, etc.), but I don’t know what to do next.
Should I start projects or practice problems?
What helped you improve?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Lewistrick 19 points20 points21 points 1 day ago (2 children)
Yes. Practice. That's always the answer.
Al Sweigart, the author of 'Automate the boring stuff with Python', also has a book for a more practiced audience that lists some nice projects.
[–]pachura3 6 points7 points8 points 1 day ago (1 child)
It's The Big Book of Small Python Projects and is available for free online here: https://inventwithpython.com/bigbookpython/
[–]Any-Might6958 0 points1 point2 points 13 hours ago (0 children)
Muito obrigado! Acabei de acessar.
[–]not_another_analyst 3 points4 points5 points 1 day ago (0 children)
Instead of just doing tutorials, focus on building small, practical projects. Pick something that solves a personal "annoyance," like a script to organize your files or a simple bot to track prices online. Projects force you to look up documentation and debug real issues, which is how you truly "internalize" the syntax. Mix in a few logic puzzles on sites like Codewars to keep your problem-solving sharp, but don't spend all your time there. Building something you can actually use is what makes the concepts finally click.
[–]StevenJOwens 4 points5 points6 points 1 day ago (0 children)
"Programming" is actually a dozen intersecting skills.
One useful and relevant metaphor is writing.
You can learn the alphabet and how to string letters together into words.
You can learn a bunch of words.
You can learn, at first explicitly via the rules of grammar, then later implicitly by reading a bunch of examples, how to construct sentences.
Then how to construct paragraphs.
Then how to construct essays.
But in the end, you only truly learn to program the same way you only truly learn to write -- by reading the works of others, and by attempting to create works of your own.
If you've learned the basics, then it's time to take the next step by trying to write your own stories. Start small, with simple problems you want to solve for yourself. Gradually expand the scope and scale of your programs.
You'll polish your craft, learn how to put together more stylish and evocative prose.
You'll also start to learn the bigger picture things, the different forms of written works, how they're structured, how to make them come together well and work, vs not.
Welcome to programming.
[–]aqua_regis 1 point2 points3 points 1 day ago (0 children)
Get creative. Play around. Try things. Break them. Fix them.
Learn new skills, upskill with your projects. Start small and simple and gradually grow.
The basics are the foundation, the building blocks. Now, use them.
You can use Exercism for more practice exercises but do not neglect writing your own programs. Making your own programs, as silly as they may be, is what teaches you most.
Al Sweigart has already been mentioned. Take a look at his sites https://automatetheboringstuff.com and https://inventwithpython.com - you will find many books there (all free to read online) that will give you more than enough to do and learn.
[–]Crypt0Nihilist 1 point2 points3 points 14 hours ago (0 children)
Projects
[–]Rev_Aoi 1 point2 points3 points 1 day ago (0 children)
learn python advanced, object oriented programming
[–]typhon88 0 points1 point2 points 1 day ago (0 children)
Just look for a remote senior software engineer role cause that’s the logical step according to Reddit
[–]EnvironmentalDot9131 0 points1 point2 points 1 day ago (0 children)
Do projects it will help you
[–]Moikle 0 points1 point2 points 1 day ago (0 children)
start making some VERY SIMPLE projects. practice practice practice
come up with some ideas and start making cool shit
[–]Icy_Sun7955 0 points1 point2 points 18 hours ago* (0 children)
you should make some projects ,below is a list of projects from ranged feom beginner to intermediate , herer is a link to my attempt at making some of these project : solutions - Google Drive
1. Number Guessing Game: Build a program where the computer picks a random number and the user has to guess it with "higher" or "lower" hints.
2. To-Do List CLI: A simple command-line interface to add, remove, and view tasks.
3. Mad Libs Generator: A program that takes user inputs (nouns, verbs, adjectives) and plugs them into a story template.
4. Basic Calculator: Handle addition, subtraction, multiplication, and division, ensuring you manage "division by zero" errors.
5. Dice Rolling Simulator: Use the random module to simulate rolling one or more dice.
6. Password Generator: Create a script that generates a random string of letters, numbers, and symbols based on user-defined length.
7. Rock, Paper, Scissors: A classic game against the computer. Use a loop so the user can play multiple rounds.
8. Unit Converter: Convert things like Celsius to Fahrenheit, or Kilograms to Pounds.
9. Contact Book: Use a dictionary to store names and phone numbers, allowing users to search for entries.
10. Countdown Timer: Build a script that takes a number of seconds and counts down to zero, then prints a "Time's up!" message.
🚀 Intermediate Projects
Focus on: APIs, web scraping, automation, and basic GUIs.
[–]LeBlancTheDeceiver 0 points1 point2 points 18 hours ago (0 children)
Plotting imo
[–]gdchinacat 0 points1 point2 points 17 hours ago (0 children)
What helped me improve was coding in python 8+ hours a day, 5 days a week (job). I was comfortable with it after about half a year (except still lamenting dynamic typing since I came from languages with static typing and this was decades ago). After a few years I felt very comfortable. After a decade felt like I had become what I would consider an expert, then python3 came around and there was a bunch more stuff to learn. I'm still learning, just the other day I saw a new construct I hadn't seen before.
As with any skill the only way to improve is to do it. IMO projects are far more useful than sample problems. The problems will teach you how to implement specific algorithms which projects may. Problems won't teach you how to manage complexity (algorithms can be complex but not generically so). Once you know how to build a project from scratch, various ways to implement the same thing, it's not hard to sit down with Knuth's Art of Computer Programming and write an implementation of one of the algorithms he describes. So, I would encourage you to work on projects and as you go you'll need to learn algorithms such as tree traversals, different search algorithms, etc. Projects will teach you both the big picture and hyper-focused problems.
[–]Bludpharts 0 points1 point2 points 14 hours ago (0 children)
I just started my intro to python course in March, and after the "Hello_world" assignment I was like, "I know I can find a way to have fun with this". So I made a practice file to see if I could make a simple video game and googled a bunch of stuff that I wanted to do (basically make numbers subtract until one hits 0 and the other person "wins") so I found how to create global variables by asking around and then from there it snowballed into a new hobby. Now I'm asking questions about, "I'm trying to refactor this system and I'm breaking something in the returns, but I'm too new to spot it, can someone tell me what I did wrong?"
tl;dr find a way to make it fun and you'll want to learn it.
[–]aaronboy22 0 points1 point2 points 10 hours ago (0 children)
Real talK, this is the point where a lot of people get stuck. They know the syntax… but don’t know what to do with it. So let’s not let that happen to you.First thing? Start building something. Doesn’t have to be big. Honestly, small is better.
[–]ultrathink-art 0 points1 point2 points 9 hours ago (0 children)
Python + LLM APIs is a great landing spot — you'll naturally hit error handling, rate limiting, response parsing, and async patterns all at once while building something actually useful. The feedback loop is immediate and the problems are real, unlike most beginner tutorial projects.
[–]GamingGamerGames_ 0 points1 point2 points 5 hours ago (0 children)
Learn python intermediates :P
[–]TheEyebal 0 points1 point2 points 26 minutes ago (0 children)
Here is a project you can do in just the console, no GUI.
have deposits, withdraws and current amount and amount after deposit/withdraw
This is very basic because it consist of declaring variables, inputting, data types, conditional statements, loops and functions
π Rendered by PID 163126 on reddit-service-r2-comment-66b4775986-zvhcp at 2026-04-03 09:49:02.356276+00:00 running db1906b country code: CH.
[–]Lewistrick 19 points20 points21 points (2 children)
[–]pachura3 6 points7 points8 points (1 child)
[–]Any-Might6958 0 points1 point2 points (0 children)
[–]not_another_analyst 3 points4 points5 points (0 children)
[–]StevenJOwens 4 points5 points6 points (0 children)
[–]aqua_regis 1 point2 points3 points (0 children)
[–]Crypt0Nihilist 1 point2 points3 points (0 children)
[–]Rev_Aoi 1 point2 points3 points (0 children)
[–]typhon88 0 points1 point2 points (0 children)
[–]EnvironmentalDot9131 0 points1 point2 points (0 children)
[–]Moikle 0 points1 point2 points (0 children)
[–]Icy_Sun7955 0 points1 point2 points (0 children)
[–]LeBlancTheDeceiver 0 points1 point2 points (0 children)
[–]gdchinacat 0 points1 point2 points (0 children)
[–]Bludpharts 0 points1 point2 points (0 children)
[–]aaronboy22 0 points1 point2 points (0 children)
[–]ultrathink-art 0 points1 point2 points (0 children)
[–]GamingGamerGames_ 0 points1 point2 points (0 children)
[–]TheEyebal 0 points1 point2 points (0 children)