Я покажу вам базовое упражнение по программированию на Python, но оно также полезно для тех, кто изучает Python и хочет улучшить свои навыки.
В предложении говорится:
Создайте программу Python для управления ценами на товары в магазине, а также общим количеством проданных товаров, для чего вам потребуется 3 вектора.
Названия: сохранит названия предметов
Цены: сохранит цены предметов
Проданное количество: сохранит общее количество проданных товаров для каждого предмета
Кроме того, эта программа должна реализовать следующие опции для отображения в меню:
Представить новый товар — зарегистрировать новый товар с названием и ценой
Сделать продажу — запросить название и количество продукта для продажи
Показать информацию — показать название, цену, количество проданных товаров и количество товаров, кроме того к итогу
Удалить статью
Очистить все элементы
Выйти
Очевидно, что каждая упомянутая опция должна быть запрограммирована для работы. Итак, давайте посмотрим, как решается это упражнение по программированию.
Para agregar ип artículo simplemente solicitamos el nombre y precio para agregarlos cada arreglo. En este caso vamos a agregar también un valor por defeto a las cantidades vendidas, que será 0 al inicio.
name = input("Product name: ") price = float(input("Product price: ")) quantity_sold = 0.0 names.append(name) prices.append(price) quantities_sold.append(quantity_sold)
Сделать продажу
В случае совершения продажи мы должны запросить название продаваемого продукта. Если он не существует, мы должны его указать; но в противном случае мы должны запросить сумму, которая продается.
Мы можем использовать in, чтобы узнать, находится ли строка внутри списка в Python, а затем использовать index, чтобы получить индекс (позицию, которую она занимает) этого элемента.
item_name = input("Название продаваемого товара: ")
if article_name в именах:
quantity = float(input("Количество проданных товаров: "))
index = names.index( article_name)
цена = цены[индекс]
quantity_sold[index] += количество
print(
f”Продается {количество} {название_наименования}. Итого: {количество * цена }")
else:
print("Элемент не существует")
Давайте перейдем к следующему разделу, который должен отображать информацию обо всех продуктах. То есть мы должны показать наименование, цену и количество проданного товара.
Кроме того, нам нужно отобразить самый продаваемый товар, наименее продаваемый товар, самый продаваемый товар и самый продаваемый товар. Для этого мы просто следуем алгоритму поиска наибольшего и наименьшего элемента в массиве.
if len(names) ‹= 0:
print("Статьи отсутствуют")
continue
# Названия товаров
best_selling_item = имена[0]
наименьший_проданный_предмет = имена[0]
article_with_more_income = имена[0]
предмет_с_наименьшим_доходом = имена[0]
# Но нам также нужен счет. Мы просто инициализируем их элементом массива
most_sold =quantities_sold[0]
less_sold =quantities_sold[0][0]
with_more_revenue =quantities_sold[0]*prices[0]
with_less_income = количество_продано[0] * цены[0]
print("+ — — — — — — — — — — + — — — — — + — — — — — + — — — — — +»)
print("|ИМЯ |КОЛ. |ЦЕНА |СУММА |")
print("+ — — — — — — — — — — + — — — — — + — — — — — + — — — — — -+»)
index = 0
all = 0
while index ‹ len(names):
name = name[index]
price = цены[индекс]
количество_продано = количество_продано[индекс]
количество = цена * количество_продано
print("|{:‹20}|{:›10.2f}|{:›10.2f }|{:›10.2f}|.format(
имя, количество_продано, цена, сумма))
print("+ — — — — — — — — — — + — — — — — + — — — — — + — — — — — -+»)
если количество_продано › больше всего_продано:
больше всего_продано = количество_продано
самый продаваемый_товар = имя
если количество_продано ‹ наименьшее_продано:
наименьшая_проданность = количество_проданных
наименьшая_проданная_позиция = имя
если сумма › с_больше_доходом:
с_больше_доходом = сумма
товар_с_больше_доходом = имя
если сумма ‹ с_меньше_доходом:
с_меньше_дохода = сумма
элемент_с_наименьшим_доходом = имя
общая сумма += сумма
индекс += 1
print(
«| — — — — — — — — — — | — — — — — |ИТОГО: |{:›10.2f}|».format(всего) )
print("+ — — — — — — — — — + — — — — + — — — — — + — — — — — — +»)
print(
f” Самый продаваемый товар: {best-selling_item}, {best-selling} единиц")
print(
f"Менее продаваемый товар: {less_sold_item}, {less_sold} единиц")
print(
f»Товар с большим доходом: {статья_с_больше_доходом}, с {с_больше_доходом} евро»)
print(
f»Товар с меньшим доходом: {статья_с_меньше_доходом}, с {с_меньше_доходом } евро")
Удалить статью
Чтобы удалить элемент, мы должны удалить данные из трех векторов, списков или массивов. Для этого используем del. Помните, что так же, как и при продаже, нам нужно проверить, что предмет действительно существует.
article_name = input("Название удаляемой статьи: ")
если article_name в именах:
index = names.index(article_name)
del name[index]
of цены[индекс]
del amount_sold[индекс]
print(f"{article_name} удален")
else:
print("Товар не существует")
Удалить все элементы
В случае удаления всех элементов мы объявим массивы пустыми. Прежде чем сделать это, мы должны запросить у пользователя подтверждение.
if input("Seguro (s/n): ") == "s": nombres = [] precios = [] cantidades_vendidas = []
Оставлять
Наконец, давайте посмотрим на последний пункт меню. В этом случае мы вызываем sys.exit, чтобы остановить весь скрипт, хотя, если бы мы были внутри функции, было бы достаточно возврата.
if input("Seguro (s/n): ") == "s": sys.exit()
Собираем все вместе
В начале скрипта мы должны объявить 3 массива, которые будут записывать информацию. Затем мы делаем бесконечный цикл, в котором мы отображаем меню, выполняем операцию в соответствии с запросом и продолжаем цикл.
Программа завершается, когда пользователь выбирает выход. Полный код выглядит так:
""" import sys names = [] prices = [] quantities_sold = [] while True: print(""" ========================= By Parzibyte https://parzibyte.me ========================= """) choice = input(""" 1 - Enter a new item 2 - Make a sale 3 - Show information 4 - Delete an article 5 - Clear all items 6 - Exit Select: """) if choice == "1": name = input("Product name: ") price = float(input("Product price: ")) quantity_sold = 0.0 names.append(name) prices.append(price) quantities_sold.append(quantity_sold) elif choice == "2": item_name = input("Name of the item being sold: ") if article_name in names: quantity = float(input("Quantity sold: ")) index = names.index(article_name) price = prices[index] quantities_sold[index] += quantity print( f"For sale {quantity} {item_name}. Total: {quantity * price}") else: print("Item does not exist") elif choice == "3": if len(names) <= 0: print("There are no articles") continue # Item names best_selling_item = names[0] least_sold_item = names[0] article_with_more_income = names[0] item_with_least_income = names[0] # But we also need the count. We simply initialize them to an element of the array most_sold = quantities_sold[0] least_sold = quantities_sold[0] with_more_revenue = quantities_sold[0] * prices[0] with_less_income = quantities_sold[0] * prices[0] print("+--------------------+----------+----------+--- -------+") print("|NAME |QTY. |PRICE |AMOUNT |") print("+--------------------+----------+----------+--- -------+") index = 0 all = 0 while index < len(names): name = names[index] price = prices[index] quantity_sold = quantities_sold[index] amount = price * quantity_sold print("|{:<20}|{:>10.2f}|{:>10.2f}|{:>10.2f}|".format( name, quantity_sold, price, amount)) print("+--------------------+----------+----------+--- -------+") if quantity_sold > most_sold: most_sold = quantity_sold best_selling_item = name if amount_sold < least_sold: least_sold = quantity_sold least_sold_item = name if amount > with_more_income: with_more_income = amount item_with_more_income = name if amount < with_less_income: with_less_income = amount item_with_least_income = name total += amount index += 1 print( "|--------------------|----------|TOTAL: |{:>10.2f}|".format(total) ) print("+--------------------+----------+----------+--- -------+") print( f"Best-selling item: {best-selling_item}, with {best-selling} units") print( f"Less-sold item: {less_sold_item}, with {less_sold} units") print( f"Item with more income: {article_with_more_income}, with {with_more_income} euros") print( f"Item with less income: {article_with_less_income}, with {with_less_income} euros") elif choice == "4": article_name = input("Name of the article to be deleted: ") if article_name in names: index = names.index(article_name) del names[index] of prices[index] del quantities_sold[index] print(f"{article_name} is deleted") else: print("Item does not exist") elif choice == "5": if input("Sure (y/n): ") == "y": names = [] prices = [] quantities_sold = [] elif choice == "6": if input("Sure (y/n): ") == "y": sys.exit()