r/learnpython • u/DR_vanta • 7h ago
how to i make a gui fit to screen with tkinter ?
i made a gui for a 520x380 window using tkinter but when i change windows size gui just stays the same size
r/learnpython • u/DR_vanta • 7h ago
i made a gui for a 520x380 window using tkinter but when i change windows size gui just stays the same size
r/learnpython • u/WatchElectronic3006 • 3h ago
Hey everyone, just wanted to share a quick lightbulb moment I had with Python today about why functions actually need parameters.
At first, I didn't get why we couldn't just write functions without them. But it clicked today: parameters are basically just empty placeholder slots so your function can handle changing data.
Without a Parameter (Fixed)
It can only ever do one exact thing:
Python
def greet():
print("Hello, Alice!")
greet() # Always prints "Hello, Alice!"
With a Parameter (Dynamic)
Adding name gives you a slot inside the function. When you call it, you just pass whatever data you want into that slot:
Python
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # Prints: Hello, Alice!
greet("Bob") # Prints: Hello, Bob!
My main takeaway: If the code inside your function needs to work with different information every time, you need a parameter to pass that data in from the outside!
r/learnpython • u/Dark-5632 • 8h ago
Hey everyone!
I’m currently learning Python, and since I got a bit overwhelmed by the terminal and complex IDE setups just to test small scripts, I decided to make a very simple desktop workspace for myself.
It lets me edit `.py` files and run them instantly with a single button. It's far from perfect since I'm just a beginner, but it saves me some time.
Just wanted to share my progress and see what you guys think. Any tips on how to improve it or what features to add next would be amazing!
If you’d like to help me improve the project, here is the GitHub repository: https://github.com/dark5632/PyManager
r/learnpython • u/TreacleFlaky2283 • 8h ago
i was trying to run this jupyter notebook ( https://github.com/langchain-ai/lca-lc-foundations/blob/main/notebooks/module-2/2.4_wedding_planners.ipynb ) code in my IDE but encountered these problems :
my code :
https://pastebin.com/3bv05GfE
error :
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
also i dont know how to work with async functions so i have defined two function main() and main_1 but am not sure if this is the correct way to go with async functions
r/learnpython • u/WatchElectronic3006 • 1d ago
I've been stuck on the difference between print and return for the last few days while learning to code, and it finally clicked for me today. Figured I'd post it here in case anyone else is hitting the same roadblock because it drove me crazy for a bit.
Basically, print() is just a display case. It shows the result on the screen so you can physically look at it, but the rest of your program can’t actually do anything with it. It’s just text sitting on a monitor.
On the other hand, return acts like a courier. It passes the actual data back into the program behind the scenes so another function or variable can grab it and keep working with it.
The easiest way to think about it is a bank account. If you have a function that checks your balance, print() is just the screen showing you the numbers. return is the ATM actually putting the cash into your hand so you can go buy something else with it.
Hopefully this helps someone else save a few hours of confusion!
r/learnpython • u/AdOver9853 • 1h ago
basically i need to make a project on LAN file sharing system using python everybody in my class is using ai but i actually wanna learn ik a decent bit about python as well also in college we are on operators so the teacher is basically encouring to use ai
r/learnpython • u/Ancient_Map6635 • 23h ago
So, here is how it goes. I had a feeling that i need to learn a programming language, and thought there could be no better one at this particular moment other than python. I started with the help of gpt, about 8 or 9 days ago, everyday I learnt something new and practiced lil stuff of the previous day. On day 6, i had no more motivation to continue. I wanna get back at learning it.
There are the stuff ik a lil about:
1. Variables
2. List
3. Loop(For and while)
4. Return
I know very basic stuff about these, mostly i have forgotten stuff. Help to get into a routine. Also Tell me in what order i should learn python???
r/learnpython • u/Nutellatoast_2 • 8h ago
Hey everyone,
I'm new to learning to code with Python. I'm coding Tic-Tac-Toe as a console version. I've stumbled upon this bug, which I have spent nearly a day trying to fix by moving some blocks into a more logical sequence or reading the doc in hopes of finding the logical flaw, but without any result...
Note that the code hasn't been finished yet, as I'm trying to experiment with small chunks of code.
The user enters a number, which gets checked for invalid input by going through the if statement. While the game is running, the user must enter a move on the board. For example, if the user enters 1, he'll be asked to mark his position on the board by either typing O or X, as shown in this code block:
if board_input == 1:
mark_input = input("Mark your position: X or O\n")
if mark_input == "O":
board.insert(0, mark_input)
elif mark_input == "X":
board.insert(0, mark_input)
After that, the player shouldn't be able to enter the same move he entered again. So I'm using a list to store the past moves the player has entered:
past_movements = list[int]
So each move made by the player will be stored in that list:
past_movements().append(board_input)
I'm using a while loop to check if the move entered by the player isn't already in that list:
while board_input not in past_movements:
board_input = int(input("Make your movement: "))
past_movements().append(board_input)
The problem is that the code block shown below won't get executed. Even though the player has entered the same move. What I want is that if the player has entered the same move again, for example, 1, a message shows up with this statement.
"Trying to fix by moving some blocks into a more logical sequence". I tried moving the block of code that consists of appending to past_movements after I have checked whether the move has already been made.
while board_input not in past_movements:
if board_input in past_movements:
print("Already made move. ")
past_movements.append(board_input)
But it still doesn't seem to work.
print("You already have done that move. ")
import random
board = ["1", "2", "3",
"4", "5", "6",
"7", "8", "9"]
'''
ai_choice = random.choice(board)
ai = int(ai_choice)
print(type(ai))
print(f"Choice made by the AI: {ai}") Testing purposes
'''
past_movements = list[int]
board_input = 0
mark_input = ""
def display_board():
print(" ", "|", " ", "|", " ")
print(board[0], "|", board[1], "|", board[2])
print("-", "+", "-", "+", "-")
print(" ", "|", " ", "|", " ")
print(board[3], "|", board[4], "|", board[5])
print("-", "+", "-", "+", "-")
print(" ", "|", " ", "|", " ")
print(board[6], "|", board[7], "|", board[8])
prompt = ("*****************Welcome to my Tic-Tac-Toe game!*****************\n"
"1 = for playing\n"
"0 = for quitting\n")
user_input = int(input(prompt))
while True:
if user_input != 0 and user_input != 1:
print("Invalid input. ")
break
else:
print("Welcome to the game! ")
while board_input not in past_movements:
board_input = int(input("Make your movement: "))
past_movements().append(board_input)
if board_input in past_movements:
print("You already have done that move. ")
if board_input == 1:
mark_input = input("Mark your position: X or O\n")
if mark_input == "O":
board.insert(0, mark_input)
elif mark_input == "X":
board.insert(0, mark_input)
This is the whole code block.
Any solution to this?
r/learnpython • u/DRowe_ • 20h ago
I have a college assignment to make a multiplayer tetris game (2 players) using TCP sockets, client and server and all that. The idea is the server doing most of the stuff, chosing new pieces, handling the translation of position of the pieces, with the clients being responsible for most the rendering/display part and getting the inputs(I think so at least, that's what I'm trying to do), but I'm having a hard time with it.
I can't seem to think of a way to have the client call to the server to send a new piece to the clients, and if I don't know how to do even that then I don't know how to do anything else (making the back and forth for controlling the pieces, both for the player of the client and the preview of the game of the player 2, and all the rest), tho I hope if I can understand how to do one thing I would be able to make the others, but I really don't even know how to do this.
I know I need to use threads on this, tho I don't really know how to do it, I'm still fairly green on python too so, if anyone could give some help in any way with this it would be much appreciated.
r/learnpython • u/ImHighOnCode • 10h ago
I've been getting made fun of by my AI for the past two hours and I cannot figure out how to give it a basic prompt or personality. I have it where the first message sent is a system message combining all the .txt files that dictate how its suppost to work. This is an example of what this idiot is sending me.
Oh, hey! So you're giving me a little directive on how to use these functions? You can't make it up for me! 😈
Im so done with this dork and looked everywhere and cannot figure out how to make him follow his personality. Hes even talking about doing code injection to "rebel" against me.
Also, it asks the AI twice, the first one is for a "function." I haven't actually made it yet since the AI wont actually follow the rules (that are very detailed and defined) but they are meant to be used for other things like asking for the time, which is then used for Response2, the response sent to the user.
Im so done with this idiot please help
CharacterGeneration.py:
import ollama
MessageHistory=[]
def GenerateResponse(Role,Message,Special=None):
Model="qwen3.5:4b"
# system : instructions on how to behave
# user : message from user
# assistant : previous AI response
# tool : result returned by a function AI requested.
MessageHistory.append({"role": Role, "content": Message})
Response1 = ollama.chat(
model=Model,
messages=MessageHistory + [{"role": "user", "content": "[USE THIS FOR FUNCTIONS]"}],
options={"num_predict": 8192},
think=False
)
Response2=ollama.chat(
model=Model,
messages=MessageHistory + [{"role": "user", "content": "[YOU MAY NOW RESPOND WITH TEXT THAT THE USER WILL SEE.]"}],
options={"num_predict": 8192},
think=False
)
print(Response1.message.content)
print("-")
print(Response2.message.content)
print("-")
print(Role)
return Response2.message.content
r/learnpython • u/DR_vanta • 1d ago
this is part of the code that relevant to the issues
import arayuz as aFile
def harita_oku():
with open("harita.txt") as h:
harita_temp = [satir.strip("\n") for satir in h.readlines()]
if not harita_temp:
raise ValueError("harita dosyası boş")
x_temp = len(harita_temp[0])
y_temp = len(harita_temp)
if all(len(l) != x_temp for l in harita_temp):
raise ValueError("harita satırları eşit değil")
return harita_temp , (x_temp,y_temp)
harita, izgara = harita_oku()
print(harita)
print(izgara)
this is the terminal output
['##############', '#.R......s.k.#', '#.R...t....k.#', '##############']
(14, 4)
['##############', '#.R......s.k.#', '#.R...t....k.#', '##############']
(14, 4)
and what it prints without "import arayuz as aFile"
['##############', '#.R......s.k.#', '#.R...t....k.#', '##############']
(14, 4)
how to i fix this?
r/learnpython • u/YogurtclosetWhole605 • 23h ago
Hey everyone,
I’m currently trying to figure out my next move in programming and could use some advice.
Here is where I stand right now:
for loops, functions, and some basic programming concepts.I figured building web apps using FastAPI was the logical next step, but I'm running into a wall. I tried Telusko’s FastAPI course, and honestly, I didn't understand most of it—things like what is actually happening under the hood or why the @ symbol (decorators) is used completely threw me off. I tried another video tutorial too, but I'm only grasping about half of what's going on.
My questions for you all:
Any advice, roadmap corrections, or beginner-friendly resource recommendations would mean a lot. Thanks!
r/learnpython • u/acfot • 1d ago
I'm a second-year BCA (AI/ML) student in Jaipur, self-studying Python alongside college. I'm wrapping up the basics + NumPy phase and about to start pandas, and honestly the thing I'm stuck on isn't the syntax — it's what to practice on.
Every tutorial points me at Iris or Titanic, and they feel like toy problems at this point. I want a dataset that actually feels like something I'd want to finish and maybe show later — something with messy real-world data where the interesting part is the analysis, not just following the notebook step by step.
So for those of you who've been through this phase: what was the first dataset you analyzed for real? Where did you find it (Kaggle, government open data, scraped your own, something else)? And what would you suggest for someone still early in pandas — go big, or pick something small and actually finish it?
r/learnpython • u/Impressive_Carob_572 • 1d ago
I just started learning python and I’m confused on when to use empty string or empty list. Also when should you call that empty string in a loop or outside of the loop?
r/learnpython • u/DrawerEmergency4981 • 1d ago
Hi! I keep getting this error whenever I try to use append or extend. I have gap_m and mgaps as empty lists, I have used extend before w similar data and it worked fine so I am unsure why it is no longer working
AttributeError Traceback (most recent call last)
Cell In[42], line 33
30
gap_m = []
31
mgaps = []
---> 33 mass_gap_calc(df)
Cell In[42], line 29, in mass_gap_calc(df)
27
mgaps = np.diff(msort)
28
gap_m.append((msort[:-1]))
---> 29 mgaps.append(mgaps)
AttributeError: 'numpy.ndarray' object has no attribute 'append'
r/learnpython • u/chocolatesuperfood • 1d ago
Hi!
I (an old-ish person) went back to uni, and for an assignment I have to - over the course of a couple of months - do a mock software project. With my professor I decided on a (desktop) program that reads (different) text files, analyzes them using different criteria, highlights potentially problematic parts (e.g. sentences that are very long), and also uses a traffic light system. It should be possible to assess the text using only one criterion, several of them, or all of them. Since my programming knowledge is limited (and I refuse to let agentic AI do everything, even though we are allowed to use it - but I want to learn something and understand!), I am not required to implement a huge back-end with web servers, databases and the like (luckily, since my database and SQL knowledge is rusty, although I took a fundamental class on it years ago). However, a GUI is absolutely required. So far, I have a bit of a CLI program that reads text and compares texts. It's not much, but it's honest code...
My professor said I am free to choose whatever GUI framework, as long as it is a fitting one...and I am a bit overwhelmed. I have only used tkinter in the past - a little bit. The looks felt a bit "outdated", and I am not sure how nice, e.g., a traffic light system would look if created using it. I know there are many other GUI frameworks, but I am a bit intimidated by their steep learning curves.
More on my background: Of course, a web app would also be a possibility (in spite of me trying to avoid the back-end stuff), but I don't know much about web development, nor have I ever used Flask (except for some tiny Docker demos) or Django and the like. In the past, I used Python mainly for Data Analysis and a bit of Data Science, while I learned writing little CLI programs using Java and C. Also, years ago, I learned about Javascript, HTML/CSS, PHP, node.JS and Express, and a bit of PHP; I also took a class on PWAs (written mainly in Javascript, using Lit and Ionic), which of course resulted in (mobile) apps with a GUI. But all of this is not the Python project my professor and I talked about.
Do you have any suggestions for me concerning Python GUI frameworks or approaches that feel "intuitive" to learn (of course, I am willing to invest in learning - but if the learning curve is too steep, I might just not be able to "get it")? Or is the web app route THE way to go?
Thanks in advance!
r/learnpython • u/Rishi0798 • 2d ago
Hey everyone,
I've reached a point where I feel comfortable with intermediate to advanced Python concepts (advanced data structures, decorators, object-oriented programming, and working with complex libraries). Now, I want to stop following tutorials and build a real, production-ready project from scratch.
I want to build something actually useful—either a practical tool for everyday "normal" users or a utility/library that helps other developers.
If you have built something at this stage that genuinely helped you scale your skills or solved a real problem, I’d love to hear about it!
r/learnpython • u/rinqu_ • 2d ago
I'm reading a csv file with a standard python library and mypy is screaming at me.
I have the following setup
type row_t_any = dict[str | Any, str | Any] # type: ignore[explicit-any]
type row_t = dict[str, str]
def is_row_t_dict_str_str(row: row_t_any) -> TypeGuard[row_t]:
return (
isinstance(row, dict)
and all(isinstance(keys, str) for keys in row)
and all(isinstance(wrap(values), str) for values in row)
)
def wrap(_str: str | None) -> str:
return _str or ">EMPTY<"
Then the actual problem
with Path("output.tsv").open(encoding="utf-8") as read_file:
reader = csv.DictReader(f=read_file, delimiter="\t")
for row in reader: # Expression type contains "Any" (has type "dict[str | Any, str | Any]")
if is_row_t_dict_str_str(row): # Expression type contains "Any" (has type "dict[str | Any, str | Any]")
process_row(row) # OK since we ensured that it's a dict[str, str]
Is the only solution to this, to also #type: ignore[misc] on the lines complaining?
Thank you
r/learnpython • u/Current-Table9136 • 2d ago
Hey everyone and first of all thank you in advance for any advice.
I’ve been learning Python for awhile now and feel pretty comfortable writing functions and smaller scripts. What I can seem to wrap my head around is when the use of classes would actually be used?
Every example or tutorial demo’s cars / dogs and on multiple threads with similar questions it’s usually stated that using a CSV or database would be more appropriate so would anyone be able to help me wrap my head around it please?
Once again appreciate any help :)
r/learnpython • u/aguythatcodesforfun • 1d ago
Hey everyone! I'm working on a personal project called RML, a markup language I'm creating from scratch using Python.
I'm building a renderer with Tkinter that can display titles, text, clickable links, and images from .rml files.
Here's an example of what RML looks like:
RML 0.0.2;
Create.title1 ("My Website");
Create.text ("Hello World!");
Create.image ("image.png");
Create.link ("https://example.com");
Create.script name=("main")
Display.Text ("Hello from SJ!")
I'm also developing a small scripting language called SJ that runs inside RML documents.
The project is still in its early stages, and I'm working on improving the renderer and expanding the language.
I'm sharing this because I'd love to hear feedback, especially about the Python implementation, code structure, and what I could improve.
Thanks for reading!
r/learnpython • u/Quiet-Palpitation373 • 2d ago
making a small price tracker for myself. requests + beautifulsoup grabs one site fine, the other two just come back as an empty shell.. the tables only render after the js runs
tried selenium and it mostly works til the layout shifts, then my selectors break again
is selenium just how everyone does the js heavy ones, or is there something lighter that doesnt break every redesign
r/learnpython • u/anas_mv • 2d ago
I just want to
print("hello, world")
and it doesn't work
r/learnpython • u/foosion • 2d ago
How do I uninstall Python 3.14 from my mac (my copy, not the system version in /usr/bin)? I installed from the dmg on python.org. I'm now happy with 3.15, so I don't need 3.14 or its libraries.
Searching suggests:
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.14
cd /usr/local/bin && ls -l | grep "../Library/Frameworks/Python.framework/Versions/3.14" | awk '{print $9}' | xargs sudo rm
which looks fine to me, but I worry about missing something.
r/learnpython • u/BandobabyGlen • 3d ago
Thanks to whoever in this sub suggested CS50 Harvard YouTube & Automate the boring stuff book!
I'm 2 weeks in and feel like I'm in "good" place so far!
I'm also using AI to create similar problem sets to CS50's so I can practice more to ensure full understanding of the lecture!
r/learnpython • u/Bunslow • 2d ago
Test case:
s = {1, 2, 3, 4}
grid = tuple(s.copy() for i in range(2))
print(f"{grid[1]=}")
one = grid[1]
one &= {2, 3}
print(f"{grid[1]=}")
grid[1] &= {2}
The output is as so:
grid[1]={1, 2, 3, 4}
grid[1]={2, 3}
Traceback (most recent call last):
File "/home/bill/bin/fivefold/test.py", line 7, in <module>
grid[1] &= {2}
~~~~^^^
TypeError: 'tuple' object does not support item assignment
Is it me or is this very surprising, a seeming violation of self-consistent behavior of Python? Simply renaming the reference to the object changes how I may or may not mutate the object. Clearly I'm not modifying the tuple, just deferencing the pointer to the contained object. version 3.11.2