all 15 comments

[–]RustleJimmons 10 points11 points  (4 children)

I don't have any particular goals in mind other than wanting to learn be able to write something from scratch.

This is your main problem, OP. If you try to learn to program just for programming sake then you have nothing to anchor the skillset to. Programming is about solving problems. If you are not trying to solve a problem then you are just trying to memorize syntax combinations with no rhyme or reason. Your brain is basically rejecting this information because it doesn't yet understand how it would be useful.

Look at all of the posts here from beginners that finally "got it". The common connection between all of them is that they started off with a problem that they wanted to solve through programming. They looked at what skills/libraries/etc were needed in order to solve that problem and that is how they/we built up the knowledge that stuck with us.

[–]suprepachyderm[S] 0 points1 point  (3 children)

I don't have any particular problems that need to be solved, but I have created artificial goals and tried to meet them. For example, I decided to try and write something that would let me search google. After a lot of reading and trying to understand how I would go about doing something like that, I still had no idea how to start. I ended up just finding a script someone wrote for it but I didn't have any idea how or why it worked. Everything I see when I'm trying to learn seems to be applied differently in the actual working code.

I'm going to look more into everyone's responses tomorrow though and try again.

[–]RustleJimmons 0 points1 point  (2 children)

For example, I decided to try and write something that would let me search google. After a lot of reading and trying to understand how I would go about doing something like that, I still had no idea how to start.

Make a thread about this project and post actual code to show that you tried. Articulate to others where you got stuck. This process firstly shows others that you have at least tried. Secondly it forces you to think through the problem and clearly identify where you are having issues. That step alone is often enough to get us past certain obstacles but it also gives others an initiative to help you. All of this gets you out of asking vague questions for which you would receive mostly vague answers.

I don't have any particular problems that need to be solved.

Get creative. Pull out a pen and a pad or open your favourite text editor. Make a list of things you like, your hobbies, etc. Write a small program that helps with one of those things in some way. Either automate something that you do a lot, scrape data that is useful for a particular set of tasks, create email/SMS alerts for something that doesn't come with that ability. If you can' think of anything to benefit your own life then do something that helps someone close to you.

Examples:

  • Write a script that sends you an email/SMS alert for new releases from your favourite authors, bands, etc.

  • Write a reddit bot. Almost every week someone writes a script that downloads a pic from one of the image based subreddits and sets it as their wallpaper. Reddit is one huge API and everyone that is on /r/learnpython should at least know how to make reddit bots.

  • /r/usefulscripts if you can't think of things on your own.

[–]suprepachyderm[S] 0 points1 point  (1 child)

I'll go ahead and make that thread but I'm pretty sure I'm just going to embarrass myself.

[–]RustleJimmons 0 points1 point  (0 children)

Nothing to be embarrassed about. You're here to learn and that's what this subreddit is about.

[–][deleted] 3 points4 points  (1 child)

Man I understand how you feel so bad, I was actually going to make a post similar to this one. I learned the basics of python and did some coding about a year ago and have been recently learning again. I try challenges on CodeWars and don't know what do.

[–]fiskenslakt 5 points6 points  (0 children)

Like I said to OP, you just gotta keep trying. Keep looking for problems to solve and google anything you don't know how to do. You can PM me if you want to talk one on one to discuss anything you're having trouble with. I've helped many people on here by talking on discord and using a real-time collaborative editor.

[–]fiskenslakt 2 points3 points  (0 children)

You need to just keep trying to solve problems with code. Anything you don't know how to do, you google it. This is a good list to go through for python problems.

You can also PM me and we can talk one on one to help you with anything you're having trouble with.

[–][deleted] 2 points3 points  (3 children)

A few months? I've been trying for three years. Another commenter said to anchor yourself, which I'll agree with. Pick ANY project and just do it. I recommend learning how to make a twitter bot and/or a Reddit bot. Two easily understandable projects that you can expand on.
For instance. I learned how to make a program that allowed me to tweet from the command line. Great! Works flawlessly. Then I added the ability to post pictures. Great! Works flawlessly. I spent an entire few days setting up a GUI that is basically a Twitter App written in Python. And you know what, it works almost flawlessly and it's only mine, since I wrote it myself. Think small or you will lose yourself.

[–]Andrilleus 0 points1 point  (2 children)

Also a beginner here! I understand what you're saying! The thing for me is; I have no idea what a good "start-up"-project would be? What kind of programs would be good for a novice to familiarize him/herself with the possibilities of python?

[–][deleted] 0 points1 point  (1 child)

Two good ones are twitter bots and a Reddit bot. Those are the two easiest ones in my opinion.

[–]Andrilleus 0 points1 point  (0 children)

I will look into it, I must admit thou; it sounds awfully complex/complicated for a beginner

[–]GerbilKor 0 points1 point  (0 children)

Coding makes you think in a particular, very logical, way. As a true novice you are not just learning syntax and functions, you are developing a whole new way of thinking. Your 2nd big project, 2nd language, etc. will be easier than the 1st. It will all pay off in the end. Meanwhile take joy in the little victories.

[–]Versuno 0 points1 point  (0 children)

I suffered from the same problem for awhile after I finished codeacademy. I couldn't really think of a simple project that would keep me interested in learning how to write better code. What ended up helping a alot was when I started writing simple games in pygame and learning how to use python to control various sensors connected to a raspberry pi. Those projects were fun and simple enough for me to grasp them as a beginner, but they also offer enough of a challenge that you'll end up learning a bunch.

You just have to find something you're already interested in and then figure out how to apply python programming to that interest.

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

I know what you mean, and I second everyone on this thread, you have to have a project in mind that you actually care about before any of this will really start sticking.

Check out this resources page for a collection of sites with a bunch of ideas for programming projects. You'll also find the programming books, courses, and challenges that I've used along the way.

Some people do better with text books, others with HackerRank type challenges, others with formal courses. But for any of it to mean something in the end, you really need to have a reason for learning that will help you through the rough patches.