There's a certain stage of learning programming that's called "tutorial hell." You've been through all the lessons, and you know the basics of if statements and for loops. You just can't reach the point of putting it all together on your own. Part of the problem is that you want to do more than hangman games or tic-tac-toe. Here are five beginner Python projects you'll actually use.
First up is a password generator. You always need new secure passwords anyway, so why not? You'll need to pull a random word. Next, transform some letters into numbers. E can turn into 3, I into 1, O into 0, and L into 7. Perhaps you'd like to capitalize certain letters in the word to make it even more secure. Finally, add a special character like an ampersand or an exclamation mark at the end. For bonus points, have the user enter their own word and then use your code to transform that input into a secure password. Every time you sign up for a new website, you'll find yourself returning to your program.
Another idea is to make a life counter. Have you ever wondered how many days you've been alive? You can't just multiply by 365, or you're forgetting about leap years! Take the user's input, and make sure to give them a warning if they don't enter a proper date. Then, write the code to calculate the length of time. Can you calculate the hours, too?
If you enjoy making games, rock-paper-scissors is a popular one. Allow the user to enter which gesture they want to make, and then have the computer give a random answer. Write code to tell the computer which move is the winner in each possible scenario. Will you declare the winner right away, or make it best two out of three? Any time you have a decision to make, you can open Python and play against the computer. It may or may not be very helpful, but at the very least, you'll feel a burst of pride at knowing you made this program yourself.
You can use Python to make your own personal spellcheck. Is there a typo that you always make, or perhaps a word you tend to misspell? Write a quick piece of code that will search through your writing and replace the wrong word with the right one. What's more, you can do this with several words at once. You'll need to take your own writing as input - you can have Python open and read a text file or use PyperClip to read what you copy onto the clipboard. Instead of going over your document over and over, just run your code and you'll have a clean piece of writing.
Lastly, Python can be used to create a website blocker. In your code, make a list of the websites you want to stop using during certain times - your email, or maybe social media? Set the websites to redirect to "127.0.0.1," which will give you a notification that the page cannot be reached. By importing the datetime module, you can set specific days and times that these websites are blocked.
Learning Python is a great rabbit hole to fall down, but only if you're enjoying what you're doing. You can get out of tutorial hell and motivate yourself by working on your own projects that actually matter to you. Good luck!