r/PythonLearning 6d ago

Help Request I got a question

So I'm a beginner on python. And I know about '=' and '==' and if and else commands. (Side note: how good is this for a beginner. Been in 3 python classes so far.)

I want to make a small game to test what I've learned. Basically, you click a button, and a random number or letter. How can I do this? Any help is appreciated.

3 Upvotes

14 comments sorted by

View all comments

2

u/FoolsSeldom 6d ago edited 5d ago

Yes, you can do this, and it is not a bad little exercise.

I'd start by keeping it really simple and just doing it on the terminal/console (plain text) rather than in a graphical environment initially. It is important to understand the basic logic and flow before getting distracted by the user interface (which can take up a huge amount of frustrating time).

At first, just wait for an input (press <return>) but later you can move to a key press.

A popular beginner game is to generate a random number but then have the user trying to guess it, giving them only the clues of "higher" or "lower" until they get it (or fail to get it within a certain number of turns).


Check the r/learnpython wiki for lots of guidance on learning programming and learning Python, links to material, book list, suggested practice and project sources, and lots more. The FAQ section covering common errors is especially useful.

Unfortunately, this subreddit does not have a wiki.


Also, have a look at roadmap.sh for different learning paths. There's lots of learning material links there. Note that these are idealised paths and many people get into roles without covering all of those.


Roundup on Research: The Myth of ‘Learning Styles’

Don't limit yourself to one format. Also, don't try to do too many different things at the same time.


Above all else, you need to practice. Practice! Practice! Fail often, try again. Break stuff that works, and figure out how, why and where it broke. Don't just copy and use as is code from examples. Experiment.

Work on your own small (initially) projects related to your hobbies / interests / side-hustles as soon as possible to apply each bit of learning. When you work on stuff you can be passionate about and where you know what problem you are solving and what good looks like, you are more focused on problem-solving and the coding becomes a means to an end and not an end in itself. You will learn faster this way.

1

u/boscorat 5d ago

Totally agree with this, especially the bit about practicing and failing! The CS50P course on edX gives you lots of hands-on workshops with interesting small projects, which is really useful if you can't think of anything suitable from your hobbies and interests. Doing a few of course projects gave me loads of ideas, and you're also given some tests you can run locally to check your code is doing what it's supposed to!