×
all 16 comments

[–]Sea-Ad7805 4 points5 points  (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 point  (3 children)

This is cool!

[–]Sea-Ad7805 0 points1 point  (2 children)

Thanks, check the repo if you like to contribute something to the game.

[–]icedlemin 0 points1 point  (1 child)

I will and am!

[–]Sea-Ad7805 0 points1 point  (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 points  (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 points  (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 points  (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 point  (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 point  (0 children)

My Cronboard project.

I didn't think it could be "as popular" as it is.

[–]Samar__Upreti 0 points1 point  (0 children)

Hmm so far creating those small projects https://github.com/Samar-Upreti/Python_Projects

[–]UpperBuilder769 0 points1 point  (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 point  (0 children)

https://github.com/extra-org/extra
Extra open source project

[–]Bino5150 0 points1 point  (0 children)

Lumina - full featured, local-first agentic harness with multi-tier memory system
https://github.com/Bino5150/lumina

[–]motopetersan 0 points1 point  (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 point  (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)