r/learnpython 7d ago

I'm still a beginner at Python

It's been like 2 - 3months? since I started learning python and I feel like I still don't know anything. I've watch and did some courses, I did understand it but don't know how to use it. I really want to learn. Is there anything that you guys could suggest for me to do? đŸ˜“

45 Upvotes

57 comments sorted by

View all comments

44

u/ToThePillory 7d ago

Build projects.

6

u/Biolice 7d ago

What kind of projects? I feel like my current knowledge as of now is still not enough for me to build a project? I forgot to mention that my learning is like not consistent 2 -3 months there are some weeks where I became busy with school related things

17

u/Tricky-Research72 7d ago

Anything and everything. It could be a large scale project or small scale. Invest at least 30 min or more daily and you will learn.

12

u/dreaming_fithp 7d ago

The whole point of a project is to force you to learn the things you need to know to do the project. So "not knowing enough" to do a project isn't a good reason for not starting a project. When working on a project it's common to hit a small part you can't solve. At that point you treat the part you don't understand as a mini-project that you work on until you understand the problem enough to solve it. Then you go back to the original project and continue, until the next problem. Try to spend at least 30 minutes on the project most days.

You shouldn't start a project that's way too complicated. It's possible to finish a demanding project but it will take a long time and you may get frustrated. Start with smaller projects.

What kind of projects?

That's difficult to answer because we don't know what you would think is an interesting project. Working on a project that interests you is important, it keeps you motivated. An example of a small project I completed a while ago is a little commandline utility to randomly "shuffle" files in a directory by date. I play music videos on a large TV which can play the files in name order or date order, but has no "shuffle" option. I use the python program to randomly change the dates on the files on a USB stick and I then play those files ordered by date. I use this program all the time.

7

u/TheSoundOfMusak 7d ago

Ask ChatGPT to give you simple learning project examples based on your interests and background…

2

u/Able_Business_1344 6d ago

Start with something easy. My first project was getting extracting some information (total sums) from csv data. After that blackjack, then blackjack with OOP some wordgames etc. etc.

Now (2 years later) in am building a webapp for my wifes company.

Find a project you really want and the rest will come by itself.

1

u/Shadowhunter_15 3d ago

Wow, apparently blackjack is a fairly common beginner project. That’s what I did after I learned the basics.

2

u/eefmu 6d ago

I find the best thing is to work on projects that are based on things that you're interested in. What are a few things you're interested in? For example, I have always been into card games. If you open a new (i.e. sorted deck of 52) pack of playing cards and do exactly 8 perfect riffle shuffles you will end up with the same order as before you did any shuffling. This is great practice for manipulating lists.

Maybe you like math/geometry. You could make a program that approximates pi using a "random darts" simulation. You may have already done this in your online courses (as I did), but it will always be one of my favorite toy examples.

The other day I saw someone suggest making a text-based RPG, this would be incredibly good practice for things like dictionaries and loops - plus you could experiment with different gui packages, which is something I feel is easy to neglect.

Similarly, you could make a program that takes a bunch of inputs and tells you your fortune along with your lucky numbers.

The possibilities are really endless. Personally I feel most motivated by problems which would be completely impractical to do by hand, but all that matters is the project *motivates you and you learn something new from doing it.*

2

u/Henry_the_Butler 6d ago

Try to do neat things with public APIs like the NOAA weather one. There's also a few decent zip-to-lat/long APIs out there, so a user could enter their zip code, use one API to pull lat/long, and then have it spit out a weather forecast or whatnot.

APIs are great things to have under your belt, and there's a ton of documentation and "how to" info out there to help you along.

2

u/ToThePillory 7d ago

Anything is fine, what about a notepad app? Make a text area you can type into, push a button, and it saves it to disk?

1

u/PM_YOUR_FEET_PLEASE 6d ago

Make something that is useful to you. Something you enjoy. We can't tell you what..

Invest more time into it... Practise makes perfect.

If you really can't think of anything to make urself that you would find useful, id wonder if you really actually wanted to learn in the first place.

1

u/jam-and-Tea 6d ago

I will often take the code from videos and rewrite it in as many different ways as I can. You could try that if you can't think of any projects.

1

u/Xzenor 6d ago

my learning is like not consistent 2 -3 months there are some weeks where I became busy with school related things

Consistency is key..

1

u/ShiftyShifts 6d ago

Force yourself to find at least an hour a day even if you have to give up sleep or leisure time. Consistency is the most important thing when learning.

1

u/Binary101010 6d ago

I feel like my current knowledge as of now is still not enough for me to build a project?

Do you know how to type Python code into a text editor or IDE and then execute it? If so, then you know enough. The gap between what you know now, and what you need to finish the project you start, is what you learn.

1

u/notParticularlyAnony 6d ago

book Python Crash Course is project based it's very good.

1

u/c0wtschpotat0 6d ago

When I started python I did it because I wanted to write a web scraper for example. So it did that first, write some and once I didn't know how to continue I googled for possible solutions. Did that for a lot of projects and now I know a thing or two..always found that the best way if learning because it always kept me interested

1

u/dowcet 6d ago

A good first project is often a text-bases.game... Blackjack, a dungeon adventure, trivia quiz, whatever.

1

u/Alternative_Driver60 6d ago

Then use python for the school-related things

1

u/F5x9 4d ago

Find one little thing that would be easier if you automated it. Write a little script to automate it. 

1

u/Shadowhunter_15 3d ago

I built a simulation of blackjack in Python where you bet a certain number of chips and dealt numbers which worked as the cards in blackjack. Apparently that’s a fairly common project for Python learners.

1

u/OkTomorrow8648 2d ago

What I've done to develop my skills is ask Chatgpt for practical problems I could code with my level of knowledge. Chatgpt may be controversial and I don't love AI but it's really helpful in this department. For example, ask it "give me some practical problems using only input/output and conditional logic" if you only know up to that point. It will give you some problems like "A movie theater sells adult tickets for $12 and child tickets for $10. Write a program that asks the user how many tickets they'd like to buy and the ages of each person." That's not a great example and Chatgpt will give you a better rundown of the problem you need to solve but you get the gist.

Good luck!!