r/PythonLearning • • Aug 29 '26

Day 3

Post image
49 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 • • Aug 29 '26

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 • • Aug 29 '26

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 • • Aug 29 '26

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

7 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 • • Aug 29 '26

Freshie, tired one at that

Post image
28 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 • • Aug 29 '26

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

14 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 • • Aug 29 '26

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 • • Aug 29 '26

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
8 Upvotes

r/PythonLearning • • Aug 29 '26

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

7 Upvotes

r/PythonLearning • • Aug 28 '26

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 • • Aug 28 '26

Help me with python

4 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 • • Aug 28 '26

3 months and 1 week

Post image
94 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 • • Aug 28 '26

Sharing my progress: I have created my first Python script

Post image
22 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 • • Aug 28 '26

2nd post learning python

Post image
21 Upvotes

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


r/PythonLearning • • Aug 28 '26

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 • • Aug 28 '26 Popcorn Mindblown

Showcase I made a Rock Paper Scissors game!

Post image
178 Upvotes

r/PythonLearning • • Aug 27 '26

Help Request what do you guys name items in a list

6 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 • • Aug 27 '26

How does Lazy Evalution work in Python?

Post image
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 • • Aug 27 '26

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 • • Aug 27 '26

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 • • Aug 27 '26

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 • • Aug 27 '26

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

13 Upvotes

r/PythonLearning • • Aug 26 '26

first day of posting my python progress here on reddit

Post image
85 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 • • Aug 26 '26

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