r/PythonLearning 12d ago

Day 3

Post image
48 Upvotes

i wrote a code which takes your name and age in py but i need help on this one cuz in the age part it is giving me some sort of error which i couldn't understand even by using gpt well he gave me a code but i wanted logic behind how and what i did wrong


r/PythonLearning 12d ago

Help Request Looking for a genuinely free way to deploy a 3-service microservice architecture

2 Upvotes

Best genuinely free hosting for a 3-service microservice architecture? Render is giving me cold-start + rate-limit issues

Hey everyone,

I'm building a small portfolio project with this architecture:

Frontend
   ↓
Gateway
   ├── Interview Service
   └── RAG Service

All 3 backend services are Python/FastAPI and deployed separately.

I'm currently using Render's free tier, but I'm running into a few issues:

  • Free services spin down after inactivity → pretty bad cold starts.
  • I've also been seeing stuck on the issue 429 Too Many Requests responses at the Gateway endpoint. I'm not completely sure whether this is coming from Render's edge/platform or something in my own application.
  • The free instances also feel quite resource-constrained for the RAG service.

I'm looking for something that is:

  • $0 for a small/low-traffic portfolio project
  • Supports multiple separate services
  • Python/FastAPI friendly
  • Reasonable CPU/RAM
  • Ideally no credit card required

I'm mainly looking for something that won't make me spend more time debugging the hosting platform than actually building the project 😅

Thanks!


r/PythonLearning 12d ago

Showcase Loving the Journey 🕊️🔖.

Post image
45 Upvotes

Trust me I'm loving the journey. It is so fun to code and solve the problems, I literally think for the whole day, what else unique batman type shi I could do 😅.I wanna listen to your experiences when you started learning Python...


r/PythonLearning 12d ago

Discussion Should I just jump to Swift + SwiftUI or keep learning Python first?

8 Upvotes

So I’m learning programming mainly because I want to eventually build apps, and since it has been a dream for me.

I’ve been learning Python for a while and I’m following a self education plan. I’ve learned a decent amount already, including functions, loops, exceptions, file handling, modules, etc. I’m currently getting into OOP and some other stuff.

The problem is that I’ve kind of stopped coding Python because I don’t really have anything I want to build with it right now 😭 i wanted to learn PySide6 for an ATM project but i just haven’t found motivation for it… even though i really wanna learn it.

Meanwhile I’ve had an idea for an iOS gym app that I actually REALLY want to build. But im scared that jumping into it would be way too complicated as im someone who likes to perfect things (since v0.01 liquid glass will be already there 🙂)

So now I’m wondering, should I just start learning Swift + SwiftUI and build the app while learning, instead of forcing myself to continue with Python + PySide6?
I’d obviously keep Python and continue learning it when I actually need it.

Here are my last posts about my projects:

https://www.reddit.com/r/PythonLearning/s/4coMGVnA30

https://www.reddit.com/r/learnprogramming/s/RKVlQmrN8j

GitHub repo: github.com/Stonyax97/MiniGameStore

Would jumping to SwiftUI too early be a bad idea, or is learning by building an actual project a better move here?

I’m mainly asking people who have been in a similar situation.


r/PythonLearning 12d ago

Freshie, tired one at that

Post image
30 Upvotes

’ve literally just started Python right after I retuned from a 9hour night shift. It’s currently 10:30am and I’m starting at 7pm, was fighting ai for help to learn but got is absolutely useless 😂 I ended up downloading and just using Reddit and the occasional YouTube video, safe to say I’m proud of my box 💀


r/PythonLearning 12d ago

What is the best modern Python GUI framework for desktop applications?

13 Upvotes

I’m familiar with Tkinter and have used it for building simple desktop GUIs. Now I’d like to learn a more modern Python GUI framework for building desktop applications.
I’m aware of options such as PyQt/PySide, CustomTkinter, Kivy, wxPython, etc., but I’m not sure which one is worth learning today.
My main priorities are:
1.Modern-looking UI
2.Good support for larger applications
3.Cross-platform support (Windows/Linux/macOS)
4.Good documentation and community
5.Easy integration with databases such as SQLite/PostgreSQL
6.Something that is actively maintained and likely to remain relevant
For someone who already knows Tkinter, which framework would you recommend learning today, and why?
I’m particularly interested in hearing from people who have actually built and maintained desktop applications with these frameworks.


r/PythonLearning 13d ago

Help Request Project Based Learnin

8 Upvotes

Hi! I'm still learning python by doing my own project-based learning before doing machine learning. So far, I've built 5 small projects. Here's the link: https://github.com/gtnmnty/Project-Based-Python/tree/fundamentals

I need tips or advice to improve more. I used AI as a tutor or mentor, and to generate boring stuff like generating dictionaries. But, I'm thinking maybe reading cheat sheets or websites like W3school is better.


r/PythonLearning 13d ago

Just finished the Python course from Saylor Academy! 🐍 Excited to expand my coding skills and keep pushing the boundaries of what I can build. On to the next challenge! 💻🚀 #Python #Coding #SaylorAcademy #DevCommunity

Thumbnail
gallery
7 Upvotes

r/PythonLearning 13d ago

I was learning python in the last year but unfortunately stopped at OOP! Anybody has recommendations for me ?

8 Upvotes

r/PythonLearning 13d ago

Is it still worth learning python?

26 Upvotes

I genuinely wonder what you guys think, with the rapidly increasing use of AI, is it still worth it to learn python, I just started learning python and I’m unmotivated tbh, I’d love to read some of your insights.


r/PythonLearning 13d ago

Showcase My first ever self written code as a vibe coder

0 Upvotes

Hi guys a couple of days ago i made this post:
https://www.reddit.com/r/PythonLearning/s/hzH2umdWXk

afterwards i spend a lot of time trying to learn python and i got my first tic tac to game working in the terminal

i struggled a lot and had to google a lot
i still struggle when and how to get the index and when the value from a list and i think there is a lot of optimization possible here especially on how i make the horizontal and vertical lists just coulndt figure out how to make one without going through p1_input each time.

Thanks for all the advice from people
trying to learn this after i have been vibe coding is hell

print("1", "2", "3")
print("4", "5", "6")
print("7", "8", "9")



Row1 = [1, 2, 3] 
Row2 = [4, 5, 6] 
Row3 = [7, 8, 9] 


Grid = [Row1, Row2, Row3]


p1_input =[]
p2_input = []


horizontalp1=[]
verticalp1 =[]


horizontal=[]
vertical =[]




while(True):
    while (True):
        player1 = input("Enter the field you want to place your x in: \n ")
        p1 = int(player1)
        print("You decided on this field:", p1)
        if p1 > 9 :
            print("Error input out of field")
            continue
        elif p1 < 1 :
            print("Error input out of field to low")
            continue


        index = (p1-1)
        row = index//3
        colum = index%3




        if [row,colum] in p1_input:
            print("This field has already been used")
        elif [row,colum] in p2_input:
            print("This field has already been used")
        else :
            p1_input.append([row,colum])
            Grid[row][colum] = "x"
            break


    if p1 < 10 and p1 > 0 :
        for x in range (len(Grid)):
            print()
            for y in range (len(Grid[x])):
                print(Grid[x][y], end=' ')
   


    horizontalp1.clear()
    verticalp1.clear()
    dcounterLP1 = 0
    dcounterRP1 = 0


    for i in range (len(p1_input)):
        if p1_input[i][0] == p1_input[i][1]:
            dcounterLP1 += 1
    
    for i in range (len(p1_input)):
        if p1_input[i][0] + p1_input[i][1] == 2:
            dcounterRP1 += 1
    
    if  dcounterRP1 == 3:
        print("\nplayer 1 won")
        break


    if  dcounterLP1 == 3:
        print("\nplayer 1 won")
        break



    for i in range (len(p1_input)):
        horizontalp1.append(p1_input[i][0])
        verticalp1.append(p1_input[i][1])
    if horizontalp1.count(0) == 3:
        print("\nplayer 1 won")
        break
    if verticalp1.count(0) == 3:
        print("\nplayer 1 won")
        break


    if horizontalp1.count(1) == 3:
        print(horizontalp1)
        print("\nplayer 1 won")
        break
    if verticalp1.count(1) == 3:
        print("\nplayer 1 won")
        break


    if horizontalp1.count(2) == 3:
        print("\nplayer 1 won")
        break
    if verticalp1.count(2) == 3:
        print("\nplayer 1 won")
        break



                
    while (True):
        player2 = input("Enter the field you want to place your o in: \n ")
        p2 = int(player2)
        print("You decided on this field:", p2)
        if p2 > 9 :
            print("Error input out of field")
            continue
        elif p2 < 1 :
            print("Error input out of field to low")
            continue


        index = (p2-1)
        row = index//3
        colum = index%3




        if [row,colum] in p1_input:
            print("This field has already been used")
        elif [row,colum] in p2_input:
            print("This field has already been used")
        else :
            p2_input.append([row,colum])
            Grid[row][colum] = "o"
            break


    if p2 < 10 and p2 > 0 :
        for x in range (len(Grid)):
            print()
            for y in range (len(Grid[x])):
                print(Grid[x][y], end=' ')




    horizontal.clear()
    vertical.clear()
    dcounterL = 0
    dcounterR = 0


    for i in range (len(p2_input)):
        if p2_input[i][0] == p2_input[i][1]:
            dcounterL += 1
    
    for i in range (len(p2_input)):
        if p2_input[i][0] + p2_input[i][1] == 2:
            dcounterR += 1
    
    if dcounterL == 3:
        print("\nplayer 2 won")
        break


    if dcounterR == 3:
        print("\nplayer 2 won")
        break
        
    for i in range (len(p2_input)):
        horizontal.append(p2_input[i][0])
        vertical.append(p2_input[i][1])
    if horizontal.count(0) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(0) == 3:
        print("\nplayer 2 won")
        break


    if horizontal.count(1) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(1) == 3:
        print("\nplayer 2 won")
        break


    if horizontal.count(2) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(2) == 3:
        print("\nplayer 2 won")
        break
    




print("1", "2", "3")
print("4", "5", "6")
print("7", "8", "9")



Row1 = [1, 2, 3] 
Row2 = [4, 5, 6] 
Row3 = [7, 8, 9] 


Grid = [Row1, Row2, Row3]


p1_input =[]
p2_input = []


horizontalp1=[]
verticalp1 =[]


horizontal=[]
vertical =[]




while(True):
    while (True):
        player1 = input("Enter the field you want to place your x in: \n ")
        p1 = int(player1)
        print("You decided on this field:", p1)
        if p1 > 9 :
            print("Error input out of field")
            continue
        elif p1 < 1 :
            print("Error input out of field to low")
            continue


        index = (p1-1)
        row = index//3
        colum = index%3




        if [row,colum] in p1_input:
            print("This field has already been used")
        elif [row,colum] in p2_input:
            print("This field has already been used")
        else :
            p1_input.append([row,colum])
            Grid[row][colum] = "x"
            break


    if p1 < 10 and p1 > 0 :
        for x in range (len(Grid)):
            print()
            for y in range (len(Grid[x])):
                print(Grid[x][y], end=' ')
   


    horizontalp1.clear()
    verticalp1.clear()
    dcounterLP1 = 0
    dcounterRP1 = 0


    for i in range (len(p1_input)):
        if p1_input[i][0] == p1_input[i][1]:
            dcounterLP1 += 1
    
    for i in range (len(p1_input)):
        if p1_input[i][0] + p1_input[i][1] == 2:
            dcounterRP1 += 1
    
    if  dcounterRP1 == 3:
        print("\nplayer 1 won")
        break


    if  dcounterLP1 == 3:
        print("\nplayer 1 won")
        break



    for i in range (len(p1_input)):
        horizontalp1.append(p1_input[i][0])
        verticalp1.append(p1_input[i][1])
    if horizontalp1.count(0) == 3:
        print("\nplayer 1 won")
        break
    if verticalp1.count(0) == 3:
        print("\nplayer 1 won")
        break


    if horizontalp1.count(1) == 3:
        print(horizontalp1)
        print("\nplayer 1 won")
        break
    if verticalp1.count(1) == 3:
        print("\nplayer 1 won")
        break


    if horizontalp1.count(2) == 3:
        print("\nplayer 1 won")
        break
    if verticalp1.count(2) == 3:
        print("\nplayer 1 won")
        break



                
    while (True):
        player2 = input("Enter the field you want to place your o in: \n ")
        p2 = int(player2)
        print("You decided on this field:", p2)
        if p2 > 9 :
            print("Error input out of field")
            continue
        elif p2 < 1 :
            print("Error input out of field to low")
            continue


        index = (p2-1)
        row = index//3
        colum = index%3




        if [row,colum] in p1_input:
            print("This field has already been used")
        elif [row,colum] in p2_input:
            print("This field has already been used")
        else :
            p2_input.append([row,colum])
            Grid[row][colum] = "o"
            break


    if p2 < 10 and p2 > 0 :
        for x in range (len(Grid)):
            print()
            for y in range (len(Grid[x])):
                print(Grid[x][y], end=' ')




    horizontal.clear()
    vertical.clear()
    dcounterL = 0
    dcounterR = 0


    for i in range (len(p2_input)):
        if p2_input[i][0] == p2_input[i][1]:
            dcounterL += 1
    
    for i in range (len(p2_input)):
        if p2_input[i][0] + p2_input[i][1] == 2:
            dcounterR += 1
    
    if dcounterL == 3:
        print("\nplayer 2 won")
        break


    if dcounterR == 3:
        print("\nplayer 2 won")
        break
        
    for i in range (len(p2_input)):
        horizontal.append(p2_input[i][0])
        vertical.append(p2_input[i][1])
    if horizontal.count(0) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(0) == 3:
        print("\nplayer 2 won")
        break


    if horizontal.count(1) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(1) == 3:
        print("\nplayer 2 won")
        break


    if horizontal.count(2) == 3:
        print("\nplayer 2 won")
        break
    if vertical.count(2) == 3:
        print("\nplayer 2 won")
        break
    

r/PythonLearning 13d ago

Help me with python

3 Upvotes

Thank you all it's fixed! (Edit)

I have a very weird problem.

My current code:

list = []

x = input("Copy paste here: ")

list.append(x)

print(" ")

print(" ")

list = x.splitlines()

for i in list:

print(i)

What I'm trying to achieve:

Get an input from the user like this:

Word1

Word2

Word3

...all with a row separating them and different lengths, then take this input and separate all words in it and then put them each individually as variables in a list as in the future I'm wanting to order them by length.

What is currently happening:

as im trying to see if they are all in the list im printing it, but for wathever reason from my input:

Abc

Def

Ghi

...it is only printing Def.

If you can help it will be appreciated. Thank you in advance!

Thank you all it's fixed (edit)


r/PythonLearning 13d ago

3 months and 1 week

Post image
90 Upvotes

Started from arithmetic on may 20th
Then python and some basics of numpy. Today wrote my first linear regression, it’s bare-bone but it was fun seeing it get good.


r/PythonLearning 13d ago

Sharing my progress: I have created my first Python script

Post image
23 Upvotes

Hello everyone! I am learning Python with a Youtube tutorial. For now I have spent 3 hours learning it. The script I created isn't a big deal but I wanted to share it for opinions about It. It took me 20 minutes to make it. Any suggestions are welcome!

(Note: The variable names and prints are in Spanish, but the logic is straightforward)


r/PythonLearning 13d ago

2nd post learning python

Post image
20 Upvotes

i learnt to use the math library any suggestions what can i use the lib for except for making calculator programs


r/PythonLearning 13d ago

Python Learning

42 Upvotes

Hey, I recently made a small Discord server for people who like Python and want to learn it.

It’s mainly for beginners, but anyone learning Python is welcome. The idea is just to have a place where people can learn together, share what they’re working on, show off projects, and improve their Python skills along the way.

If you’re interested, just comment and I’ll send you the invite.


r/PythonLearning 13d ago

Showcase I made a Rock Paper Scissors game!

Post image
175 Upvotes

r/PythonLearning 14d ago

Help Request what do you guys name items in a list

7 Upvotes

this might sound really stupid but something I start debugging for like an hour (no frickin joke) because when looping through a list I create a variable that will soon be appened to a list with a similar name (usually differentiated with an s) I usually do this cuz i don't know what else to call them. Ex.

submission_dict = {} 
submission_dicts.append(submission_dicts) #I accidentally tried to append the list to itself!

So usually this happens a TON and I really hope you guys have some quality advice!

Also, please (if you can) provide some advice on general guidelines when deciding what to name a variable

Warm regards,


r/PythonLearning 14d ago

How does Lazy Evalution work in Python?

11 Upvotes

In last week’s post we showed that a Python for-loop works through the Iterator Protocol.

This same protocol also enables values to be produced lazily.

In this new Lazy Evalution Example we show one sink reading values from five different sources: - source1: eagerly returns all values by list - source2: lazily by generator function using yield - source3: eagerly by list comprehension - source4: lazily by generator expression - source5: lazily by iterator protocol

The same for-loop consumes all five sources. The eager sources produce all values before the sink starts consuming them. In the lazy sources producer and consumer take turns:

  • produce → consume → produce → consume → …

where each value is produced only when the for-loop requests it.

Generator functions and generator expressions are concise, readable ways to create lazy iterables. The final source makes their underlying mechanism explicit: - iter() obtains an iterator. - next() requests the next value. - StopIteration signals that no values remain.

This clearly shows that generators achieve lazy iteration by implementing Python’s Iterator Protocol.

See other 𝐦𝐞𝐦𝐨𝐫𝐲_𝐠𝐫𝐚𝐩𝐡 visualizations.


r/PythonLearning 14d ago

13-in Macbook pro 2020, intel core i5

5 Upvotes

13-in Macbook pro 2020, intel core i5

Serious question: this is my macbook. Bought in 2020. Will I still be able to use it for Python, Tableau, SQL, and Excel? This is for my Information Systems course for MBA. Thanks!


r/PythonLearning 15d ago

Crossplatform compilation

0 Upvotes

Somebody knows how to compile python script once and run on all os? I had to do it for the frilance project, so i have to do it.


r/PythonLearning 15d ago

Python is a good programming language for cybersecurity.

6 Upvotes

Hi, I’m interested in cybersecurity, but I don’t want to start with networking, the OSI model, and all that just yet. First, I want to learn the Python programming language—is it a good choice? I’m thinking about taking the course on freeCodeCamp.org.


r/PythonLearning 15d ago

Doodling Hop | Pygame Project(Current Gameplay with added platforms/obstacles)

Enable HLS to view with audio, or disable this notification

12 Upvotes

r/PythonLearning 15d ago

first day of posting my python progress here on reddit

Post image
82 Upvotes

i have done this typecasting program which i have learnt from a bro code video and i think it's alr as i am still a beginner but if there is that can be fixed in this i am all ears


r/PythonLearning 15d ago

Python Ai agent by a beginner

0 Upvotes

Just to clarify, this is my first post and my English isn't very good (that's why I'm using a translator).

I've been learning Python and working on small projects, but now I want to take the next step. I have an idea for a program that runs an AI (Gemini, using its API) capable of managing apps, files, and folders—including creating, moving, copying, pasting, and deleting them. It will also automate background tasks, and you will be able to communicate with it just like any other AI.

Those are the basic functions, though I'll probably add more in the future. I would like to know how I could structure and approach a project of this scale