Chương trình máy bán cà phê bằng Python

Blog này sẽ thảo luận về cách chúng ta có thể xây dựng Máy bán hàng tự động bằng Mã Python (ứng dụng bảng điều khiển). Máy bán hàng tự động với mã Python là một dự án nhỏ không chứa các chủ đề nâng cao và sẽ giúp bạn hiểu rõ một số điều cơ bản. Bạn sẽ có thể tìm hiểu các khái niệm sau về Python từ blog này

  1. Kiểu dữ liệu từ điển Hoạt động. https. //sao chép bài tập. com/python/python-dictionary/
  2. Kiểu dữ liệu chuỗi Thao tác. https. //sao chép bài tập. com/python/python-strings/
  3. Bool với vòng lặp While. https. //sao chép bài tập. com/python/python-while-loop/ và

Khái niệm đằng sau Máy bán hàng tự động với Python

Sẽ có một từ điển gồm tất cả các mặt hàng có thuộc tính product_id, product_name và product_price. Danh sách the_item trống nơi tất cả các sản phẩm đã chọn sẽ được thêm vào sau. Biến “chạy” là True cho đến khi người dùng hài lòng và không muốn mua sản phẩm nào nữa thì giá trị sẽ thành Sai và không lặp lại

Bây giờ chúng ta sẽ tìm hiểu code Vending Machine bằng Python Code

Dữ liệu cho máy bán hàng tự động

Chương trình máy bán cà phê bằng Python

Menu in

Một vòng lặp đơn giản sẽ in menu của máy bán hàng tự động với tất cả các thuộc tính cần thiết của sản phẩm được viết

Chương trình máy bán cà phê bằng Python

Tính tổng giá

Hàm sum() được viết, hàm này sẽ lặp qua danh sách the_item chứa tất cả các sản phẩm được chọn để mua. Đầu tiên, nó sẽ lặp qua danh sách và thêm thuộc tính product_price vào tổng số tiền và hàm sẽ trả về tổng số tiền

Chương trình máy bán cà phê bằng Python

Logic máy bán hàng tự động

Hàm machine() được viết trong máy bán hàng tự động bằng chương trình Python, đây là chức năng chính của chương trình. Hàm này sẽ nhận 3 đối số. từ điển items_in_stock, biến chạy có giá trị boolean và danh sách the_item sẽ chứa tất cả các mặt hàng mà người dùng dự định. Một vòng lặp while sẽ chỉ hoạt động khi giá trị của biến chạy là True được viết

Tại đây, người dùng được yêu cầu nhập id sản phẩm của mặt hàng dự định và nếu id sản phẩm nhỏ hơn tổng độ dài của từ điển items_in_stock, thì toàn bộ thuộc tính id sẽ được thêm vào danh sách the_item, nếu không sẽ xảy ra lỗi . ” Người dùng được hỏi liệu họ có muốn thêm nhiều mục hơn không; . Sẽ có lời nhắc về việc in toàn bộ biên lai hay chỉ in tổng số tiền

Chương trình máy bán cà phê bằng Python

Chức năng tạo phiếu thu

Một tính năng khác của Máy bán hàng tự động với Python là nó sẽ tạo màn hình biên lai trên bảng điều khiển. Hàm create_reciept() sẽ nhận hai đối số, the_item danh sách các sản phẩm đã chọn và biên lai, là một chuỗi các menu soạn sẵn. Nó sẽ lặp qua danh sách the_item, chọn tên và giá sản phẩm và in tương ứng. Sau đó, cuối cùng, hàm này sẽ lại sử dụng hàm sum() trước đó để in tổng giá. Lưu ý rằng hàm sum() trước đây đã được viết bên ngoài hàm create_reciept() này

Chương trình máy bán cà phê bằng Python

đầu ra

Chương trình máy bán cà phê bằng Python

Hoàn thành mã cho Máy bán hàng tự động bằng Python

items_in_stock = [
    {
        "item_id": 0,
        "item_name": "Milky Bar",
        'item_price': 60,
    },
    {
        "item_id": 1,
        "item_name": "Fanta",
        'item_price': 90,
    },
    {
        "item_id": 2,
        "item_name": "Kurkure",
        'item_price': 25,
    },
    {
        "item_id": 3,
        "item_name": "Thumbs Up",
        'item_price': 90,
    },
    {
        "item_id": 4,
        "item_name": "Wai-Wai",
        'item_price': 20,
    },
]


the_item = []

reciept = """
\t\tPRODUCT -- PRICE
"""

sum = 0

run = True

print("------- Vending Machine with Python-------\n\n")
print("----------The Items In Stock Are----------\n\n")

for i in items_in_stock:
    print(f"Item: {i['item_name']} --- Price: {i['item_price']} --- Item ID: {i['item_id']}")


def machine(items_in_stock, run, the_item):
    while run:

        buy_item = int(input("\n\nEnter the item code of the product you want to buy: "))

        if buy_item < len(items_in_stock):
            the_item.append(items_in_stock[buy_item])
        else:
            print("THE PRODUCT ID IS WRONG!")

        more_items = str(input("press any key to add more items and press q to quit. "))

        if more_items == "q":
            run = False

    rec_bool = int(input(("1. print the reciept? 2. only print the total sum . ")))
    if rec_bool == 1:
        print(create_reciept(the_item, reciept))
    elif rec_bool == 2:
        print(sum(the_item))
    else:
        print("INVALID ENTRY")


def sum(the_item):
    sum = 0

    for i in the_item:
        sum += i["item_price"]

    return sum

def create_reciept(the_item, reciept):

    for i in the_item:
        reciept += f"""
        \t{i["item_name"]} -- {i['item_price']}
        """

    reciept += f"""
        \tTotal --- {sum(the_item)}
        
        
        """
    return reciept


if __name__ == "__main__":
    machine(items_in_stock, run, the_item)

Liên kết GitHub. https. //github. com/copyassignment/small_projects/blob/main/vending_machine. py

Cảm ơn đã đọc blog này cho đến khi kết thúc. Để tìm hiểu thêm về viết kịch bản cơ bản với Python, bạn có thể đọc các blog khác trên trang web này với danh mục. https. //sao chép bài tập. com/category/python-projects/