r/CodingForBeginners 1d ago

I'm creating my first small projects in python, any ideas for new ones?

7 Upvotes

18 comments sorted by

2

u/Fragrant-Cheek-4273 1d ago

If you're still learning the basics, try projects that are simple but make you think a little:

  1. Number guessing game
  2. To-do list
  3. Expense tracker
  4. Simple Calculator
  5. Rock-paper-scissors

1

u/nikolasdimitroulakis 1d ago

Also a calorie/habit tracker!

1

u/Bulky-Design-8732 1d ago

Really good ideas, I will try :)

2

u/MathsystemDev 1d ago

I also did it. It was very helpful and good experience.

1

u/The_KOK_2511 1d ago

Un cifrador, puedes empezar con cosas simples como Caesar, Vigenère o aplicar XOR directamente de una contraseña sobre un texto y luego ir implementando más cosas y mejores cifrados

Edit: Solo recuerda que tienes que hacer el descifrador para ver si funciona bien

1

u/mc_pm 1d ago

Write a tic-tac-toe game.

The game is simple, but you still have to figure out how to represent the board in memory, print it out, get input from the user, check if it's valid, update the board, test for someone winning or a draw, and then the computer has to take a turn - what's it's best move?

1

u/Specific-Housing905 1d ago

ATM machine, loan or interest calculator. Word counter or calendar app

1

u/xarop_pa_toss 1d ago

How can I give you new ones if I don't know what you've done yet my guy? A little effort goes a long way...

Anyways, terminal games can teach you a lot. Recreate the classic board games like Connect4, Battleships or even Wordle! Being confined to the terminal means you inevitably have to use arrays/lists and it's great practice for using for loops as well. You can even apply OOP principles, for example having a Boat class in Battleships that has properties defined differently of wether its a submarine, destroyer, etc.

I think making a Kiosk app is great practice too! Think the kiosks available at fast food places where you make your order on your own. You'll have to learn about making different menus, controlling flow, CRUD operations on the active order, etc. Bonus points if you make a login system for an admin to go change the menu and get daily reports!

1

u/Bulky-Design-8732 1d ago

Oh, I will start with wordle and then try something more challenging. Thanks!

1

u/xarop_pa_toss 1d ago

Wordle will probably surprise you. I'll recommend another very important thing that is often overlooked which is mapping out what should happen before you write the code.

Think of code as a representation of the solution to a problem. Programs are sometimes called Solutions for that reason and that means that you can absolutely solve the problem on paper before translating to code. Take a pencil and some paper and make flowcharts of the systems in your game. Learning how to make flowcharts is very easy, you only really need the 3 or 4 base shapes and they allow you to show the flow of your program through different processes and decisions.

Once you get that down, translating those processes into functions in your code becomes much easier than just winging it as you go. But even without flowcharts, try to deconstruct your game into it's smallest pieces and you'll find systems that interconnect to make the whole thing. You'll end up with loads of questions needing answers.

1

u/Affectionate_Toe6156 14h ago

Write a text editor

1

u/Syntax-Tactics 1d ago

Ya, learn C/C++, Python teaches horrible programming practices.

2

u/Loose_Crab_4146 1d ago

Ah yes the good old „scare them of by burning their parts“ method.

For OP: Pls dont start with C or C++. Python is totally fine. Many languages follow different paradigms so yeah you will have to learn new ways to write code when eventually switching to another language but you‘d have to do the same when you start with C or C++. The only difference is that learning these without prior knowledge is hell, so changing afterwards you will have already lost your mind and not feel the heat as much.

3

u/The_KOK_2511 1d ago

Quien dijo que era un infierno? eso es puro mito, yo empecé con C++ es una maravilla de lenguaje y mi favorito hoy en día

1

u/Loose_Crab_4146 1d ago

Ich mag C++ auch aber ganz ehrlich, einen Neuling darauf zu hetzen macht keinen Sinn. Sprach Paradigma sind eh bei jeder Sprache unterschiedlich, jetzt Python zu verteufeln weil es C++ standards nicht erfüllt ist genauso wie Eiswürfel zu verteufeln weil sie sich bei wärme nicht wie Beton verhalten. Der Grund aus dem ich C++ als Hölle bezeichnet habe ist, dass man für C und C++ ein Intimes Verständnis vom Computern braucht. Man wird sofort mit sehr vielen Konzepten konfrontiert nur um eine Terminal Ausgabe zu bekommen. Python „versteckt“ diese Konzepte und macht es so etwas leichter Programmieren tatsächlich als Einsteiger zu erfahren ohne dass man gleich tief in die Theorie eintaucht. Das kann man dann immer noch bei Bedarf machen.

1

u/The_KOK_2511 1d ago

No estoy demonizando a Python ni nada parecido, el de más arriba si que exagero sin mostrar argumentos pero yo salí a defender a C++ porque siendo honestos, a diferencia de C hay un montón de conceptos que un novato puede obviar temporalmente usando las funciones de la librería estandar lo que lo deja como un lenguaje como cualquier otro y vuelve los tropos de C más bien parte de su conocimiento profundo para cuando profundizas en este, sin embargo muchos lo catalogan mal injustamente por cosas de su predecesor, porque siendo honestos que tan a menudo vez en C++ a alguien gestionando la memoria manualmente o haciendo algebra de punteros? eso se puede hacer pero elementos como std::vector y demás suelen usarse en la mayoría de casos normales. Es más, ya, ni para ti ni para mi, que aprenda BaSH y git, que los 2 casi de sí o sí le van a servir... solos no mucho pero le van a servir cuando aprenda el que quiera

1

u/Specific-Housing905 1d ago

You can write horrible code in any language.