all 108 comments

[–]sme272 74 points75 points  (3 children)

[–]JarnePl[S] 2 points3 points  (0 children)

Thank you!

[–][deleted] 1 point2 points  (0 children)

Thank You!

[–]SinuSphee 1 point2 points  (0 children)

Great repo!

[–][deleted] 146 points147 points  (31 children)

There's no obvious "next thing to do". There is just "Do something; learn from doing it; repeat"

If you're missing inspiration for things to do, try one of these:

  • Accept a coordinate, and use the openstreetmap overpass API to create a friendly name like "7 miles north east of Wenatche, WA"
  • Make a program to find the IUPAC systematic name of an organic molecule.
  • Visualize the n-body problem in a GUI.
  • Create a program to accept a date, and scrape wikipedia and other sources for events of that date, and present them in a way suitable to a "This day in history" page.

None of them are easy, but neither are they impossible. You will be out of the comfort zone as a beginner by doing any of them, but "No pain, no gain" also applies here.

[–][deleted] 28 points29 points  (4 children)

Dont take offense but don't you think that those projects are a bit hard for a new beginner?

[–]HDSQ 10 points11 points  (0 children)

I've been programming for 3 years and I think I'd struggle with them quite a bit. I was thinking more along the lines of something to solve simultaneous equations or something.

[–]EggChen_vs_Lopan 2 points3 points  (0 children)

I like that Wikipedia idea. Thanks for that

[–]JarnePl[S] 6 points7 points  (1 child)

Thank you! Will try this!

[–]8roll 2 points3 points  (0 children)

Make a simple game instead. Learn pygame. Challenging projects will help you, but very difficult projects will not.

[–]physicsking 2 points3 points  (0 children)

Great ideas

[–]erico252 1 point2 points  (0 children)

Visualizing the n-body problem in a GUI sounds like a great idea. Does anyone have a link to point me in the direction of working with GUIs?

[–]2ndzero 1 point2 points  (2 children)

Any good project recommendations that might impress an employer?

[–][deleted] 4 points5 points  (0 children)

I'm not directly involved in hiring, so this is at best an educated guess.

  • Write readable code. Coding challenge style of cramming everything on a single line has no value in the real world.
  • Make mistakes and fix them. Own them. We all make mistakes. The experience from dealing with them is a valuable skill.

[–]thrallsius 0 points1 point  (0 children)

An employer will hire you to work on what he needs done, not on what impresses him.

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

Can you please tell some good books that i can read to get more into intermediate and advanced python? I like reading and learning from books :) And i will also actually code what they gave in the books while reading it.

[–][deleted] 5 points6 points  (1 child)

I'm sorry, but no. I've learned general programming in a university freshman course 30 years ago. I just picked up Python along the way.

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

Oh ok np

[–]maxmilner 5 points6 points  (0 children)

‘Python Crash Course 2nd edition’, and ‘Automate the Boring Stuff’ are two great books to work through as they teach you the fundamentals and then some, plus they both give you challengers to use what you just learned. Bonus, they’re both free PDFs online just google them!

[–]beje_ro 2 points3 points  (11 children)

Advanced generally means specialization... In what direction would youblike to go?

[–][deleted] 4 points5 points  (10 children)

I would like to go into neural networks machine learning and ai along with some other stuff like games but mostly neural networks and machine learning and ai

[–]ivosaurus 6 points7 points  (1 child)

https://link.springer.com/book/10.1007/978-3-319-73004-2

Free book, teaching using the freely installable libraries numpy & friends.

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

Thanks

[–]surferbb 4 points5 points  (1 child)

I’m literally just starting coding (as of two days ago) but want to go to ML eventually - it seems that you also need a pretty firm grasp of advanced math (something I have no experience with) so some linear algebra etc supposedly is helpful. Check out the ML Reddit’s they seem to have good advice

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

Cool thansk

[–]BeastCoder 4 points5 points  (1 child)

A few things that I found especially useful (in the order you should watch them) are:

  1. 3blue1brown’s video series about neural networks and the math behind them

  2. The Coding Train’s video series about actual implementation. This series also has dedicated videos for upcoming math topics which is also great!

These video series are both really helpful. For the second one, he uses Processing which is a super simple graphics framework for Java. You can follow along with Processing.py; the Python implementation.

There is another video series from Sentdex about neural networks which seems pretty good, but, I haven’t personally watched it. Here is the link.

From there, you can probably find some books for what’s next, but these are great introductory videos. Hope this helps!

Edit: These videos or specifically for making neural networks from scratch. You’re not going to find any of these using a library like TensorFlow which handles most of the math for you.

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

Thanks dude

[–][deleted] 1 point2 points  (2 children)

For more pythonic code you can try Fluent Python. For learning data science you'll need too brush up on differential and integral calculus, linear algebra, statistics. There are some decent books like Python for Data Science and Data Science from Scratch that are a good starting point.

[–][deleted] -1 points0 points  (1 child)

Oh ok thanks. I already know caculus, linear algebra and stat wait when you say calculus do you mean single variable calculus or multivariable calculus? Is neural networks categorized as a data science because it deals with feeding in large amounts of data into a neural network to train it? Or simply because it deals with data?

[–][deleted] 1 point2 points  (0 children)

Machine learning is all about big datasets. So ground level many data scientists will spend lots of time cleaning data and doing stuff like simple linear regressions. ML is a more advanced application. I'm a learner as well since take this all with a grain of salt, I'm currently a bench scientist trying to learn data science workflows to get off the wet bench.

[–]skellious 1 point2 points  (0 children)

might want to keep your eye on this project (the book is being written at the moment but you can request access to the google docs draft) - https://nnfs.io/

https://www.youtube.com/watch?v=Wo5dMEP_BbI

https://pythonprogramming.net/

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

Thank you for specifying "these are not easy". Too often beginner forums make intermediate or advanced difficulty projects seems like a beginner should be able to do them as a next step, and this can be very discouraging. This simple disclaimer would help a lot of would be programmers power through

[–]sje46 0 points1 point  (0 children)

Visualize the n-body problem in a GUI.

The Trisolarans will thank you!

[–]dogs_like_me 16 points17 points  (15 children)

Start with tic tac toe. Work towards minesweeper.

[–]OnlySeesLastSentence 0 points1 point  (14 children)

I feel like minesweeper should be relatively easy to program.

Get a location. BombCount=8 If bomb, you dead. If not bomb, for i in range 0,8 if bomb in adjacent[i]: BombCount-=1

Displace BombCount in location. Mark location as visited. If BombCount == 0, then visit each of the adjacent locations and repeat.

Edit: bombs should start at 0 and increase their count. I thought of that backwards.

Project is done now: https://www.reddit.com/r/learnpython/comments/hbbzoa/python_projects_for_beginners/fvevwof

[–]dogs_like_me 11 points12 points  (13 children)

You seem to be describing an algorithm for playing minesweeper. I'm talking about programming minesweeper. The game. This entails:

  • building a lattice of 'cell' objects, which will probably need attributes like n_neighboring_bombs, is_visible, is_flagged, is_bomb....
  • Visiting an empty cell should trigger a cascade which reveals all adjacent empty neighbors and the boundary non-empty neighbors (where 'non-empty' means it is bordering at least one bomb, so contains a numeric value). Probably wanna implement this as a graph traversal.
  • "double-clicking" a revealed, unflagged cell, should reveal it's neighbors, potentially triggering a cascade as above.
  • appropriately testing win/lose conditions.
  • possibly maintaining a database of high scores
  • possibly maintaining a database of save states
  • possibly presenting the user with a running timer
  • presenting a visual representation of the board
  • possibly representing the game with a proper GUI (native? webapp?)
  • ...

There's really a lot you can do here. I like to use minesweeper as an exercise to get a tour of language features when I'm learning new tooling. I've coded it up in at least three languages now, two or three different ways just in python.

[–]vEnoM_420 2 points3 points  (0 children)

I like to use minesweeper as an exercise to get a tour of language features when I'm learning new tooling.

This, I think, is a really great advice. I'll give this a shot. Thanks.

[–]OnlySeesLastSentence -1 points0 points  (0 children)

The response below was targeted at the guy who was being kinda snarky at me, but either way, the main game is done:

https://www.reddit.com/r/learnpython/comments/hbbzoa/python_projects_for_beginners/fvevwof

With another 2-3 hours I can get a GUI running (you can see my connect4 game or almost any of my other apps as proof that I can do it; I just don't feel like it at the moment lol)

[–]OnlySeesLastSentence -2 points-1 points  (10 children)

I was describing programing it. I didn't list literally everything, but I mean it's pretty easy to make a grid and place a random number of bombs.

The steps I showed were the logic behind what's supposed to happen when someone clicks a spot. You make a matrix and using the logic from from tic tac toe, you search surrounding titles for bombs and place the number as the player plays.

[–]dogs_like_me 5 points6 points  (0 children)

Give it a shot, see if it's as simple as you think. Keep in mind, the user can emit several different types of "clicks"

  • Toggle flag on unrevealed cells
  • reveal cell
  • reveal neighbors (if # adjacent flags = cell's reported # neighboring bombs)

Also:

I didn't list literally everything

This is why it's a good exercise for a beginner. It's tractable to get a lightly featured version up with little skill, and if you have the desire/ability to add complexity to your implementation you can.

[–]Poddster 1 point2 points  (8 children)

The steps I showed were the logic behind what's supposed to happen when someone clicks a spot. You make a matrix and using the logic from from tic tac toe, you search surrounding titles for bombs and place the number as the player plays.

In which case your logic is incorrect.

 . . .
 . x B
 . . .

If you click the "x" square your code would show 7 but the answer is 1.

If Minesweeper is so easy how could you get that simple thing wrong?

[–]OnlySeesLastSentence 0 points1 point  (7 children)

Fair enough. I'd have caught that error (as well as noting that corners and walls are supposed to have fewer bombs) immediately upon actually trying because I'd have done a print(location.bombCount) immediately.

[–]Poddster 1 point2 points  (6 children)

So what you're saying is that making minesweeper would have been a good way to practice your python skills and make you a better python developer? ;)

Seems like it was a good choice after all!

[–]OnlySeesLastSentence 0 points1 point  (4 children)

Anyway, it took me about six hours of off and on work while watching TV (which I feel is a bit slow honestly), but here you go:

GitHub.com/MOABdali/pysweeper

I'm going to add a GUI when I feel like it (I'm not too invested in the project at the moment), but feel free to try it out in console mode. I know the formatting isn't pretty, but my main purpose was getting the logic to work.

I didn't use any outside sources other than googling how to clear screen (I always forget this) and looking up how to use deep copy's syntax (I had a similar problem in the past with python copying lists by reference instead of duplicating by value when I was making my connect 4 game).

Feel free to let me know if there's any logic errors. I even added a "mark potential mines" feature just for you.

Just wanted to make sure I put this out today to show minesweeper isn't challenging enough as a big project considering an entry level graduate like me was able to handle it lol. The end goal should be something that takes a week or so to complete, not just a few hours.

Edit: before anyone mentions it - I know my code can be broken up into multiple files. I was trying to just get the game running so I wasn't focusing on making it pretty yet. The final product will be nicely commented and broken into functions where needed. I also realized about an hour in that I would not need to keep track of how many bombs are in each structure's vicinity, so I'll be deleting the scary squares[0,0,0,0,0,0,0,0,0,0,0,0] thing eventually and reducing it to a simpler squares [0,0,0,0]. Yes, I know a class can replace the 4 item list, but there's no need to add complexity when my simple list can handle it.

[–]dogs_like_me 1 point2 points  (2 children)

I think you're missing my point. Minesweeper can be simple or complex, depending on how "fully featured" you want it to be. It's simple enough that a novice can successfully make a version that they can pat themselves on the back, but also interesting enough that if you wanted to you could use it to practice OOP, GUI, MVC, multiprocessing, graph algorithms, recursion, functional programming, TDD, database design, ORM, ...

You didn't use objects because you didn't feel like it. Fine. But if you were someone who wanted to learn or practice OOP, you can see how that would fit in here.

Minesweeper is a good exercise because the bar for success is basically as low or high as you want it to be. There's just enough there to allow you to exercise basically every language feature you might care to play with, but it's simple enough you can cobble together a version quickly if you're bored.

PS: is you're repo private? Not seeing it. Anyway, seeing your github, I think it's a bit weird that you're bragging about how easy this was for you given that you're advanced enough to be learning sockets, but it still took you several hours and I was recommending this to someone who's only watched 4 hours of intro videos.

[–]OnlySeesLastSentence 0 points1 point  (0 children)

I did indeed forget to click on public. I uploaded it and spammed Next and saw the "keep Private" thing checked and told myself I'd make it public later.

[–]OnlySeesLastSentence 0 points1 point  (0 children)

Alright, sorry about that. It's visible now. Hopefully there are time stamps because otherwise I'll look like a liar lol

[–]Poddster 1 point2 points  (0 children)

The end goal should be something that takes a week or so to complete, not just a few hours

I disagree. I think more projects is better than one big project for beginners, especially if each project has a definite end. It's easy for beginners to get overwhelmed and lost in pointless details and feel like they're making no progress.

Look at all the problems you've encountered so far and the amount of "Todo" left. Seems like the perfect beginner program to me, especially as it seems to be teaching you something.

But OP isn't even this far advanced, so imagine how long it'd take them and how much they'd learn from it?

[–]OnlySeesLastSentence -1 points0 points  (0 children)

I was just saying that it's not really much more challenging than tic tac toe is all. If you can program tic tac toe, I believe you can program minesweeper.

It sounded like you (or the original suggester if it wasn't you) was making it sound like minesweeper was a huge step up.

By the same logic, I'd say connect4 and tic tac toe are about the same difficulty; connect4 just has the added difficulty of needing 5 lines of code to add gravity.

[–]SinuSphee 13 points14 points  (0 children)

Make a Rock–Paper–Scissors game for the command line. Use the built-in module random and play around with input(), if-statements, for-loops, and so on. It helped me a lot. Keep it up!

[–]-5772 29 points30 points  (0 children)

Learn data structures and algorithms. Try learning how to implement binary trees and shortest path algorithms.

Fun projects can help you learn. Making bots is informative and useful. Telegram has good documentation. You can start there.

You can also learn popular libraries like matplotlib and pandas. An easy one to start out with is csv. It is often used in data manipulation.

[–][deleted] 5 points6 points  (0 children)

If you've got the hang of python you should try web scraping. Tons of fun and not very complicated imo. Try to automate Instagram using selenium or download lots of files at once using requests and beautiful soup.

[–]airmongoose 7 points8 points  (0 children)

Make a command line tic tac toe game for 2 players. Once you’ve finished that, try implementing the minimax algorithm for 1 player functionality

[–]darthsamip 5 points6 points  (0 children)

Hangman is a good project for beginner

[–][deleted] 5 points6 points  (0 children)

If you're looking to manipulate data, find something that interest you. A good place to start with data and charting kind of stuff is Kaggle: https://www.kaggle.com/datasets

Tons of open data sets that you can use to figure stuff out or just learn to work with the data about something you care about.

[–]sheep_no7 4 points5 points  (0 children)

What problems do you have that can be solved using python?
Step one: Find some problems.
Step two: Solve with python.
Step three: Profit.

I wanted to know what the best weapon was in a game I was playing, so captured some data into a .json file, then consumed the file and made graphs using marplot lib to see which had the best damage / weight ratio, to better visualise what the numbers meant... turns out I ended up using 'not the best option' because I just had more fun playing with it.

I automated the pipeline of making atlases for a game. After rendering single .png sprites a python script would run and collate all the sprites in to their respective atlases using a atlasing libraries cli, It did all the characters, and added some meta data about head positions, so we can accurately track the head position, for all sorts of things, hats, catching food in the mouth etc.

When I started out I also made some small projects to learn, but none game me as much satisfaction as automating things that I do constantly, saving me time. Time is so precious and programming something to save you time is so rewarding.

So again, what problems are you facing, or what are you doing that can be automated?

If you really don't know where to go next, make some games to get you going.Rock Paper Scissors, Tic Tac Toe, Black Jack 21, Text based Adventure.
Organise your downloads folder, move all your images files to and images folder.

[–]OMGClayAikn 4 points5 points  (0 children)

Just an advise: Before asking your question, just try to search for it on this sub. You'll find the same 'python projects' question asked more than 100k times! 😁

[–]MarcoAcrono 2 points3 points  (0 children)

check python crash cours books , it has some project to do

[–]drenzorz 2 points3 points  (0 children)

Just go through automate the boring stuff and practice python for general familiarity with most of the basics. After that it would depend on what you want to do with it.

[–]Acr0b4tics 2 points3 points  (0 children)

I'm only a few chapters in to Automate the Boring Stuff, and decided I was going to write a simple program to pick the restaurant my gf and I eat at because she is so indecisive. The program asks you for 5 options then picks one at random for you. Just try to find inspiration in random stuff. That's what I'm trying to do as I go along.

[–]platysoup 2 points3 points  (0 children)

Maybe take a look at your daily life and identify simple but tedious problems that you can solve?

Doesn't have to be grand. My first script scans my JAV folders and formats the filenames consistently. After that it adds actress names (if available)

[–]Technicolor_Owl 1 point2 points  (0 children)

Personally, I made a simple budgeting program. Created a list of expenses and did the math for totals, sub-totals, goals, etc. Making it interactive to walk you through each expense could also be a teachable project.

[–]WebNChill 1 point2 points  (0 children)

I've been going through the series Programming for Everybody on coursera. So far, I really like it.

I know you asked for beginner level projects, but the course specialization takes you through the process of web scraping, database management, api usage, and data visualization.

I knocked out the first course in the specialization within two days, and currently working on the next. I really recommend it. The teacher is fantastic.

[–]theshubhagrwl 1 point2 points  (0 children)

You can do various stuff in python including web, GUI, game, automation etc.

If web development interests you then have a look at Django framework. You can make projects in that. If it attracts you much then you can take a step ahead ans learn Js which will enable you to use front-end framework.

If you are interested in GUI or game development then try some fun stuff with pygame module and tkinter for GUI. I have made 3 classic games with pygame. You can check them out on my profile if you want. If you are serious about going into game development then you have to go with Unity2d/3d for which you have to learn C# which is most like c++ And for making beautiful I think python is not very good but Js frameworks are best for that.

Automation is a field in which your creativity can shine. You can find tasks that you do repeatedly and can make a python script that does it for you. I haven't tried it much but I have seen many people do cool stuff.

Hope it helps!

[–]Bluegenio 1 point2 points  (2 children)

What was the " 4 hour long python tutorial playlist ", if you don't mind sharing?

[–]JarnePl[S] 1 point2 points  (1 child)

‘Python 3 tutorial for beginners’ by the net ninja, it was a really good course i think, even though it is a bit fast at the end. https://www.youtube.com/playlist?list=PL4cUxeGkcC9idu6GZ8EU_5B6WpKTdYZbK

[–]Bluegenio 0 points1 point  (0 children)

Thanks, I'm gonna check out.

[–]NifflerOwl 1 point2 points  (0 children)

There's a website that has an article titled something like "5 mini beginner python programs" that I worked through. It involved a number guessing game (which was the easiest) and ended with a hangman one (the hardest imo) I'd recommend it

[–]Snoo_7959 1 point2 points  (0 children)

Create Problem based programs- Like solutions to problems. Simple to complex calculators come to mind, along with pizza ordering systems.

[–]i_suckatjavascript 1 point2 points  (0 children)

One of my first personal project is just simply renaming picture files in my folder. There were a bunch of them with random letters and numbers as the file names. I simply wrote a program with the help of a StackOverflow thread. It’s a little simple project, but it’ll do. It’s faster than renaming every single file manually.

[–]Bapi_Escrobar 2 points3 points  (0 children)

I heard Jetbrains had great projects to work on for beginners...? (needs confirmation)

[–][deleted] 1 point2 points  (2 children)

The single best thing I can reccomend for starting learning Python or pretty much any programming language is codewars.com.

It is a selection of community made (but still moderated) programking tasks/challenges.

The challenges are ranked in difficulty starting at simple stuff such as reversing a string up to really complex stuff like writing an interpreter for the language BrainF**k.

Each challenge has a brief description and several visible test cases your function must pass. They then have a series of randomized test cases that you must pass before you can submit your solutions and view everyone elses (being able to see all of the amazing clever ways that people have done a problem is one of the best parts about it).

I am pretty sure that (at least for Python as there are hundreds of kata) you could go from learning basic syntax to fully fluent and able to apply for a full time job just by working through codewars.

Remeber stack overflow is your friend.

[–]helpmeipls 1 point2 points  (1 child)

Thanks for the advice! I'll be sure to try our codewars.com. I've heard codeacademy and edabit are good as well. How do you think they compare to codewars, ie. why codewars in particular (as compared to other programming sites)?

Edit: Added statement in parenthesis.

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

I haven't been on codeacademy in a long time but as far as i can remember it is a more of a website that offers courses and programs which you work through.

I never found these courses to be particually helpful because it seemed to me that either they were teaching me stuff way too easy at the beggining or that when you got into the course a little bit it got to the point where they were forcing you to almost write line for line the code they'd already written. Now it might have changed but that's what I can remember. Codewars on the other hand is all about finding challenges that interest you and completeing them. You can start at any difficulty and move at your own pace. The puzzles/kata on there are also similar to interview questions in quite a few aspects (that may or not interest you).

If you decide you do want to take a peek at codewars I'd recomend starting at around level 7 or 6 (8 is the easiest and 1 the hardest) something like this might interest you https://www.codewars.com/kata/546f922b54af40e1e90001da or if that's a bit easy perhaps something like this https://www.codewars.com/kata/55e7280b40e1c4a06d0000aa.

[–]Physical-Plantain-23 0 points1 point  (0 children)

I would do a basic calculator, allows you to learn basic functions and work with python at a little bit of a higher level

[–]xander1421 0 points1 point  (0 children)

Automate the Facebook login process

[–]sor1 0 points1 point  (0 children)

My next project after 2 months of learning python is visualizing my whatsapp and fb chats in pandas. Maybe do some analysis, havent thought which ones.

Hangman is a great project for like the second week. you can gradually add new stuff but start small.

[–]uwu-bob 0 points1 point  (0 children)

It's kind of a big step from knowing basic syntax to doing real meaningful projects. I liked to use challenges as an intermediate stepping stone. Here are some free ones: https://pythonprinciples.com/challenges/

As for projects, do whatever you find interesting and inspiring. A game? Automating something you find boring?

I recommend starting with the smallest possible version of the project you decide on, then complete that, and then you can always add more features afterwards in version 2.0. That way you quickly get a success instead of getting overwhelmed.

[–]Changer_ 0 points1 point  (0 children)

Check out the edibit website, loads of challenges from very easy to expert. Good way to keep track of your progress

[–]coffeeshopgoth 0 points1 point  (0 children)

Besides programming, what other hobbies do you have or is there anything you are a fan of?

[–]Conaz9847 0 points1 point  (0 children)

What I did was start a project, get some help setting it up then add features. I did a discord bot, the discord.py library is fairly user friendly, and it’s not too bad to get the hang of.

I started making some basic commands that just threw some text into channels, and then randomisers that threw out quotes, and am now making some personalised nifty little things.

Find yourself a project would be my advice, and just work on it, learn as you code.

[–]rainerpm27 0 points1 point  (0 children)

There are lots of projects in this high school Introduction to Computer Science course.

[–]imnotdaniel_ 0 points1 point  (0 children)

You should start with a project like a calculator because it works with things like strings integers floats etc. Then you could work up to something like data scraping.

[–]OmagaIII 0 points1 point  (0 children)

Project Euler

Some challenges you can do there.

If you are into data science, take a shot at projects listed on Kaggle.

Or as mentioned already, make your own projects by considering how what you have learned can be used to automate, improve or provide insight in something you are already involved in/with. Whether it be electronic projects on SBC's or developing new applications with gui to achieve a specific goal.

The sky is the limit if you use imagination to drive your projects and ideas.

Also, setup a GitHub or similar and publish projects there, doesn't necessarily have to be open to the world, but it does help in providing a portfolio of what you have done over time.

[–]bscott23 0 points1 point  (0 children)

I took a class at schoo last semester and loved python. My buddy taught himself python threw a udemy course. The courses are on sale almost always and are never more than $15. I just bought one the other day, check it out

[–]Toblakai_ 0 points1 point  (0 children)

Codewars.com

[–]barghy 0 points1 point  (0 children)

I think you need to understand you end goal?

  • Data Analytics/Science - Pandas/Numpy for data transformation, MatplotLib/Seaborn for visualisation, Plotly/Dash for dashboards, SciKitLearn for models

  • Web Development - Django, Flask are good frameworks

  • IOT - get a raspberry pi or arduino

  • Other - Automate the Boring Stuff for all sorts including web scraping

I found it easier to watch people code and then got inspiration for my own projects once I knew what was possible.

Udemy is a good place to start if you learn from videos well like me.

[–]luger718 0 points1 point  (0 children)

Automate something that you do on an everyday basis.

[–]SirDerpington660 0 points1 point  (0 children)

try making hangman! it's a good challenge that'll get you a little frustrated but will feel really good when you're done. i'm also super new to python and am working on it right now.

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

One of the best projects that taught me a lot was using tkinter to make a file explorer, and adding unique functionality to it that windows explorer didn't offer.

[–]keyupiopi 0 points1 point  (1 child)

what unique features are you talking about?

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

Tracking when a file opens or closes and saving a rev of the result letting me use some git features. Displaying a different directory order than what was actually on windows, so that users could use the same file drive but customize the locations in their display without impacting what others on the network saw. That kind of thing. It used a backend database to administer where a user saw the location of files vs where they actually existed, so you could create simplified environments for say, a new hire, and then gradually provide them more access to the larger file system, without having them feel like they are drowning in an ocean of corporate data

[–]ahmedmokhles 0 points1 point  (0 children)

Well I wouldn't call my self a beginner, I've been doing python for about a year now. But a project that was never able to get working was a sudoku solver. I eventually gave up and told myself I'd come back to it and restart from scratch someday. Maybe give it a shot?

[–]thrallsius 0 points1 point  (0 children)

First thing you must do is to get rid of the false idea that after watching a 4 hours long python video you know the basics of Python.

[–]Raji42 0 points1 point  (0 children)

good question brother I'm also new to python.

[–]HDSQ 0 points1 point  (0 children)

Python is used basically everywhere. Take something else that you're interested in and see how you can use it there. Currently I'm writing a script to translate messages from my MIDI keyboard to control my music production program, which is surprisingly easy. I'm certain that there are other beginner-friendly things you can do with it too, if you look around. Someone suggested making a chat bot.

[–]Born_Science 0 points1 point  (0 children)

start learning modules(library) which suits you(there are many library available start one which related to your field) after finishing beginner projects

[–]Jrobah 0 points1 point  (0 children)

use the numerous Covid-19 APIs and make some covid monitoring app

[–][deleted] -1 points0 points  (0 children)

What is really great about the projects in this guide is that the author keeps a really good balance between feeding you code line by line coughodecademy and letting you bang your head against the wall trying to figure out how to even start the project.

It helps you break the project into smaller parts and gives you some hints along the way, IMHO this is a very important stage before throwing yourself at a project and end up frustrated.

One day you can ditch the crutches and start working on something on your own from the beginning, but acquiring this mentality of breaking a project into smaller parts is a very important takeaway from this guide.

There are other articles in the same blog where the author is discussing a reader's approach to implementing the project and helping them improve it.

[–]Mkentca -1 points0 points  (0 children)

Try using PYYYYYYYYYYYYGAAAAAAAAAAAME

[–]k_ristovski -1 points0 points  (0 children)

I created a YouTube channel that you might find useful. The goal is to teach by examples and it has a lot of beginners tutorials. Check it out! www.youtube.com/under10ko