Hey! If you love Python and building Python apps as much as I do, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

Creating a Shopping List in Python

Learn how to create a shopping list application using Python, a fundamental skill for any aspiring programmer. …


Updated July 20, 2023

Learn how to create a shopping list application using Python, a fundamental skill for any aspiring programmer.

How Would You Create a Shopping List in Python?

Definition of the Concept

Creating a shopping list is a practical task that can be accomplished using various programming languages, including Python. In this tutorial, we’ll explore how to build a simple shopping list application using Python’s built-in data structures and libraries.

A shopping list typically consists of a collection of items, each with its own attributes such as name, quantity, and price. The goal is to create an interactive program that allows users to add, remove, and display items in the list.

Step-by-Step Explanation

Step 1: Define the Shopping List Class

To start building our shopping list application, we’ll define a ShoppingList class that will serve as the core data structure. This class will have attributes such as name, items, and methods to add, remove, and display items.

class ShoppingList:
    def __init__(self, name):
        self.name = name
        self.items = {}

Here’s a brief explanation of each part:

  • __init__: This is the constructor method that initializes the object when it’s created. We pass in the name parameter and set it as an attribute of the class.
  • self.items: This is a dictionary where we’ll store our shopping list items.

Step 2: Add Items to the Shopping List

Next, we’ll create a method called add_item() that allows us to add new items to the shopping list. We’ll prompt the user for the item name, quantity, and price.

def add_item(self):
    item_name = input("Enter item name: ")
    item_quantity = int(input("Enter item quantity: "))
    item_price = float(input("Enter item price: "))

    self.items[item_name] = {
        'quantity': item_quantity,
        'price': item_price
    }

Here’s what’s happening:

  • We use the input() function to get user input for each attribute (item name, quantity, and price).
  • We create a new dictionary entry in self.items with the item name as the key and another dictionary containing the item attributes (quantity and price) as the value.

Step 3: Remove Items from the Shopping List

To remove items from the shopping list, we’ll create a method called remove_item(). We’ll prompt the user to enter the item name they’d like to remove.

def remove_item(self):
    item_name = input("Enter item name to remove: ")

    if item_name in self.items:
        del self.items[item_name]
        print(f"{item_name} removed from shopping list.")
    else:
        print(f"{item_name} not found in shopping list.")

Here’s what’s happening:

  • We prompt the user for the item name they’d like to remove.
  • We check if the item exists in self.items. If it does, we delete the dictionary entry and display a confirmation message. Otherwise, we display an error message.

Step 4: Display Shopping List

Finally, we’ll create a method called display_shopping_list() that prints out all items in the shopping list.

def display_shopping_list(self):
    print(f"Shopping list for {self.name}:")
    for item_name, item_details in self.items.items():
        print(f"{item_name} - Quantity: {item_details['quantity']}, Price: ${item_details['price']:.2f}")

Here’s what’s happening:

  • We loop through each dictionary entry in self.items and print out the item name, quantity, and price.

Putting it All Together

Now that we’ve defined all our methods, let’s create an instance of the ShoppingList class and use its methods to add, remove, and display items.

shopping_list = ShoppingList("My Shopping List")

while True:
    print("\nOptions:")
    print("1. Add item")
    print("2. Remove item")
    print("3. Display shopping list")
    print("4. Quit")

    option = input("Choose an option: ")

    if option == "1":
        shopping_list.add_item()
    elif option == "2":
        shopping_list.remove_item()
    elif option == "3":
        shopping_list.display_shopping_list()
    elif option == "4":
        break
    else:
        print("Invalid option. Please choose again.")

This code creates a simple text-based interface that allows users to interact with the shopping list application.

I hope this tutorial has helped you understand how to create a shopping list in Python! Remember, practice makes perfect, so feel free to experiment and modify this code to suit your needs.

Stay up to date on the latest in Python, AI, and Data Science

Intuit Mailchimp