Корзина покупателя или shopping cart является неотъемлемой частью интернет магазина. Помимо внешней части видной пользователю в ней существует своя логика, которую мы реализуем в упрощенном виде. Для создания shopping cart или корзины покупателя на Python , используем функции добавления, удаления товара, просмотра....

Учебный проект - корзина покупателя на Python

Корзина покупателя или shopping cart является неотъемлемой частью интернет магазина. Помимо внешней части видной пользователю в ней существует своя логика, которую мы реализуем в упрощенном виде. Для создания shopping cart или корзины покупателя на Python, используем функции добавления, удаления товара, просмотра. А также главная функция с циклом и пользовательским вводом. В первую очередь создадим глобальную переменную cart для хранения списка товаров, затем определим необходимые функции.


# глобальная переменная доступна из любой точки нашей программы 
cart = [] 


# функция для добавления  элементов в список cart, используем метод спиcка: append()
def addItem(item):
    cart.append(item)
    print("{0} has been added".format(item))


# функция для удаления элементов
# в теле функции мы используем конструкцию  try-except, так как попытка удаления несуществующего 
# в списке элемента вызовет ошибку, завершающую нашу программу

def removeItem(item):
    try:
      cart.remove(item)
      print("{0} has been removed".format(item))
    except:
      print("Sorry")

# Также пользователю нужна иметь возможность просматривать карту

def showCart():
    if cart:
      print("Here is your cart:")
      for item in cart:
        print( "- {0}".format(item) )
    else:
      print("your cart empty")

# очистка карты
def clearCart():
    cart.clear()
    print("your cart is empty")

# После создания функций для обработки действий пользователя, необходимо запустить нашу программу через цикл while.
# внутри функции main() создаем булеву переменную и задаем значение False
# внутри цикла просим ввести значение с клавиатуры, и в соответствии с введенным значением 
# в условной конструкции if-elif производим вызов функций

def main():
    done = False
    while not done:
        ans = input("quit/add/remove/show/clear: ").lower()
        if ans == "quit": 
          print("Thanks for using program")
          showCart()
          done = True 
        elif ans == "add":
            item = input("What would you like to add").title()
            addItem(item)
        elif ans == "remove":
            item = input("What would you like to remove").title()
            removeItem(item)
        elif ans == "show":
            showCart()
        elif ans == "clear":
            clearCart()
        else:
            print("That was not in option")

# запуск программы

main()

Таким образом, мы создали глобальную переменную cart, хранящую список товаров, и при помощи наших функций можем изменять непосредственно ее значение, хранящее вводимые нами данные. Программа запускается как скрипт, при этом после выполнения ее завершения никакие данные не сохраняются.