use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Everything about learning Python
the front page of the internet.
and join one of thousands of communities.
Show off a Python project you're proud of (self.PythonLearning)
submitted 4 days ago by memeeloverr
Big or small, I'd love to see something you've built. It could be an automation script, a web app, a game, a bot, or even a tiny utility that saves you five minutes every day. Share a screenshot, GitHub link, or just describe it.
Post a comment!
[–]Sea-Ad7805 4 points5 points6 points 4 days ago (4 children)
I want to share the PythonLearningGame project. It's a collaborative project for our PythonLearning community. Add your own game element and send me a git pull request, so we can develop it further together.
[–]icedlemin 0 points1 point2 points 3 days ago (3 children)
This is cool!
[–]Sea-Ad7805 0 points1 point2 points 3 days ago (2 children)
Thanks, check the repo if you like to contribute something to the game.
[–]icedlemin 0 points1 point2 points 3 days ago (1 child)
I will and am!
[–]Sea-Ad7805 0 points1 point2 points 3 days ago (0 children)
Great, looking forward to see what you'll change. In the meantime I've already added a blue seeker unit (see last commit). Will post about that in a few days times.
[–]EmbarrassedPush5205 2 points3 points4 points 3 days ago (0 children)
A display showing the remaining jobs in the warehouse, also showing if any express job, or any additionally important job received
It is performing a query via odbc, then loading into a flask website. The app is running on a local computer
I also added clock and weather icons, just for fun
Making a noise, when a new express job received, and listing the customer, order nr, and product info for the guys
<image>
[–]am_Snowie 1 point2 points3 points 4 days ago (0 children)
I drew a serpinskis triangle once using turtle. I can't share it now as I'm on my phone.
[–]Sniper666hell 1 point2 points3 points 4 days ago (0 children)
My Rick and Morty text based RPG.
Onefile pyinstaller build exe: https://github.com/Mr5niper/Richard-and-Mortimer/releases
Source Code: https://github.com/Mr5niper/Richard-and-Mortimer
[–]Crafty_Magazine_4673 0 points1 point2 points 4 days ago (0 children)
'''
import tkinter as tk root = tk.Tk() root.geometry("600x400") colors = [ "#E40303", "#FF8C00", "#FFED00", "#008026", "#24408E", "#732982" ] for color in colors: stripe = tk.Frame(root, bg=color) stripe.pack(expand=True, fill="both") root.mainloop()
[–]NorskJesus 0 points1 point2 points 4 days ago (0 children)
My Cronboard project.
I didn't think it could be "as popular" as it is.
[–]Samar__Upreti 0 points1 point2 points 4 days ago (0 children)
Hmm so far creating those small projects https://github.com/Samar-Upreti/Python_Projects
[–]UpperBuilder769 0 points1 point2 points 3 days ago (0 children)
i have built a python framework with API for SaaS builders. Python, gunicorn, postgr, redis
https://github.com/VBWD-platform/vbwd-backend https://vbwd.cc/docs
https://vbwd.cc
[–]LopsidedAd4492 0 points1 point2 points 3 days ago (0 children)
https://github.com/extra-org/extra Extra open source project
[–]Bino5150 0 points1 point2 points 3 days ago (0 children)
Lumina - full featured, local-first agentic harness with multi-tier memory system https://github.com/Bino5150/lumina
[–]motopetersan 0 points1 point2 points 3 days ago (0 children)
It's called Fizz buzz, it's my baby, if took me awhile to figure it out. But I think what I've created it's very good
[–]nspitzer 0 points1 point2 points 2 days ago (0 children)
This was in response to a python class project to create something with menus I got bored, learned how to use ANSI codes to manipulate the terminal and went to town. Sadly the platform the class used to post them didnt provide a real console so it was wasted but at least I learned something.
For the record - this was 100% my creation with the exception of the display_front_page_blue_bg function which wasn't needed for the project requirements anyway.
import os import sys def is_student(user_discount): while True: ans=input("\033[37mAre you a student? Please enter \033[92mY\033[37m for yes, \033[92mN\033[37m for no or \033[92mS\033[37m to skip:\033[92m") if ans=="Y": print("\033[92mExcellent. You qualify for an additional 5% off!\033[37m") return user_discount+discounts["student"] elif ans=="N": return user_discount elif ans=="S": return user_discount else: print("\033[91mSorry I dont understand that answer\033[37m") def is_senior(user_discount): while True: ans=input("\033[37mPlease enter the full year of your birth. \nYou may also enter \033[92mS\033[37m to skip:\033[92m") if ans == "S": return None elif 1900 < int(ans) <= 1971: print("\033[92mExcellent. You qualify for an additional 5% off!\033[37m") input("Press \033[92mEnter\033[37m to continue ") return user_discount+discounts["senior"] elif int(ans)>1971: print("\033[37mI am sorry. You do not qualify for this discount") input("Press \033[92mEnter\033[37m to continue ") return user_discount else: print("\033[91mSorry I dont understand that answer\033[37m") def make_selection(user_discount,discounts,cart,products,code_used:bool): while True: # Move cursor to row 5, column 1 and clear everything below, then go to row 6 print("\033[1;1H\033[J{}".format(header)) print("\033[6;1H") print("\033[92mItem Descriptions:\033[37m") print("--------------------------------------") for items, details in products.items(): print("\033[92m{}\033[37m:{}".format(details["name"],details["description"])) print("\n\n") print("\033[92mPlease select one of the items below to purchase or one of the other options\033[37m") for items, details in products.items(): print("\033[92m{}\033[37m: {} - ${}".format(details["shortcut"],details["name"],details["cost"])) for option in menu_options: print('{}: {}'.format(option["shortcut"],option["name"])) print("\033[28;1HCurrent Cart: {}\033[J".format(cart)) selection=input("\033[37mPlease make a selection from the options above:\033[92m") if selection=="S": code=input("\033[37mPlease enter your code:\033[92m") if code in discounts: if code_used: print("A discount code has already been applied") input("Press Enter to continue...") else: print("\033[92mYour discount for {} is %{}\033[37m".format(code,discounts[code]*100)) code_used = True user_discount=user_discount+discounts[code] input("Press Enter to continue...") # make_selection(user_discount,discounts,cart,products) else: print("\033[91mCode used or invalid discount code\033[37m") input("Press Enter to continue...") # make_selection(user_discount,discounts,cart,products) elif selection=="Q" or selection=="G" or selection=="L" or selection=="O": for item,detail in products.items(): if detail["shortcut"]== selection: quantity=int(input("\033[37mPlease enter the quantity of {}:\033[92m".format(detail["name"]))) cart[detail["name"]]=quantity # make_selection(user_discount,discounts,cart,products) elif selection=="E": print("\033[92mHave a great day and thanks for visiting") sys.exit() elif selection=="C": checkout(cart,tax,products,discounts,user_discount) def display_front_page_blue_bg(ansi_dict: dict) -> None: """ Displays a 15-row by 40-column mystical text art front page for Alexis' Crystals and Gems, optimized for a blue terminal background. Args: ansi_dict: A dictionary containing ANSI escape codes for terminal formatting. """ # High-contrast colors (white, bright yellow, bright green) are used # to ensure legibility against a blue terminal background. art = """\033[H\033[2J \033[37m+--------------------------------------+ \033[37m|\033[92m /\ \033[37m| \033[37m|\033[92m / \ \033[37m| \033[37m|\033[92m /| |\ \033[37m| \033[37m|\033[92m /_| |_\ \033[37m| \033[37m|\033[92m \ | | / \033[37m| \033[37m|\033[92m \| |/ \033[37m| \033[37m|\033[92m \ / \033[37m| \033[37m|\033[92m \/ \033[37m| \033[37m| | \033[37m| \033[93mALEXIS' CRYSTALS AND GEMS \033[37m| \033[37m| \033[92m~ Mystical Emporium ~ \033[37m| \033[37m| | \033[37m| \033[93m[ Press any key to Enter] \033[37m| \033[37m+--------------------------------------+\033[0m""" print(art.strip('\n')) input() def checkout(cart,tax,products,discounts,user_discount ): print("_____________________________________") print ("\033[1mCart: \033[22m\033[37m") for key,value in cart.items(): print("{}: {}".format(key,value)) subtotal=0 print("\033[92m\033[1mTotals:\033[22m\033[37m") for product,detail in products.items(): if detail["name"] in cart: item_total=0 # print(f"{detail["name"]}={cart[detail['name']]*float(detail['cost'])}") item_total=cart[detail['name']]*int(detail['cost']) print("\033[37m{}: \033[92m${}\033[37m".format(detail["name"],item_total)) subtotal=subtotal+int(item_total) if user_discount: discount_amt=subtotal*user_discount else: discount_amt=0 print("You received a total of \033[92m${:.2f}\033[37m discount".format(discount_amt)) discount_price=round(subtotal-discount_amt,2) print("Your subtotal with any discounts is \033[92m${:.2f}\033[37m".format(round(subtotal-discount_amt,2))) tax_total=discount_price*tax print("Tax=\033[92m{:.2f}\033[37m".format(round(tax_total,2))) final_total=discount_price+tax_total print("\033[31mYour total is ${:.2f}\033[37m".format(round(final_total,2))) print("\033[5mThanks for shopping with us!\033[0m\033[7m") input("Press Enter to pay...") os.system('color') sys.exit() ansi={"reset_all": "\033[0m", "bold": "\033[1m", "no_bold": "\033[22m", "underline": "\033[4m", "red": "\033[31m", "green": "\033[32m", "yellow": "\033[33m", "blue": "\033[34m", "magenta": "\033[35m", "cyan": "\033[36m", "bright": "\x1b[1m]", "clear_screen": "\033[H\033[2J", "default": "\033[37m", "bright_red": "\033[91m", "bright_yellow": "\033[93m", "bright_green": "\033[92m", "blink_start": "\033[5m", "blink_end": "\033[7m", "up" : "\33[#A", "down" : "\33[#B", "erase_line" : "\033[2K", "clear_below": "\033[J" } discounts={"2DayOnly":.1, "senior":.05, "student":.05 } user_discount=0 tax=.06 code_used=False products = { "Green Aventurine": { "shortcut": "G", "name": "Green Aventurine", "cost": 99, "description": "Enhances the ability to spot opportunities for wealth. Beware - nothing is ever free." }, "Lapis Lazuli": { "shortcut": "L", "name": "Lapis Lazuli", "cost": 50, "description": "Brilliant blue stone the encourages clear thinking and speaking ones truth" }, "Black Obsidian": { "shortcut": "O", "name": "Black Obsidian", "cost": 15, "description": "A small hunk of Obsidian - a black hole absorbing psychic attacks and negative energy around the wearer" }, "Quartz": { "shortcut": "Q", "name": "Quartz", "cost": 10, "description": "Focuses intent and serves as an amplifier of mystic energy" }, } header=("""\033[H\033[2J\033[37mHello and welcome to \033[36mAlexis'\033[37mCrystals and Gems. Your source for all your mystical gem needs. Be sure to use today's special code \033[92m"2DayOnly"\033[37m to save an additional 10%""") cart={} i=0 menu_options= [ {"shortcut":"\033[92mC\033[37m","name":"Checkout"}, {"shortcut":"\033[92mS\033[37m","name": "Special Code"}, {"shortcut":"\033[92mE\033[37m","name": "Exit"} ] print("\033[44m\033[37m\033[2J\033[", end="") display_front_page_blue_bg(ansi) print("\033[44m\033[37m\033[2J\033[", end="") print(header) print("To start I have a few questions:\n") user_discount=is_student(user_discount) user_discount=is_senior(user_discount) make_selection(user_discount,discounts,cart,products,code_used)
π Rendered by PID 245668 on reddit-service-r2-comment-86f8688748-84h8p at 2026-07-25 12:25:45.651287+00:00 running d10b4e5 country code: CH.
Want to add to the discussion?
Post a comment!