Есть ответ 👍

Для работы небольшого магазинчика вас попросили сделать небольшой набор функций, обеспечивающих работу с чеками. в качестве пробной версии вам нужно реализовать всего два действия: добавление покупки к набору покупаемых товаров, и печать чека. после того как чек напечатан должно быть возможно вводить новый список товаров.
по правилам оформления документов в каждом чеке вы должны напечатать сначала номер чека (нумерация начинается с единицы) и число товаров, затем список товаров с ценами и в конце — итоговую стоимость. из-за того, что вы не знаете число товаров, пока кассир не «пробьет» последний товар, нельзя печатать чек по мере ввода товаров. приходится сначала добавить все необходимые товары и только затем печатать весь чек целиком. в конце чека печатается черта (состоящая из пяти знаков минус), по которой он отрывается от ленты.
организуйте две функции: add_item(itemname, itemcost) и которые реализуют указанный функционал. форматирование сделайте по шаблону в примере.
в случае, когда чек пуст, print_receipt не должна печатать чек. не забудьте, что после того как чек напечатан, набор выбранных товаров должен обнулиться, чтобы можно было вводить товары для нового чека.

пример
ввод вывод
add_item('блокнот', 100)
print_receipt()

add_item('ручка', 70)
print_receipt()
print_receipt()

add_item('булочка', 15)
add_item('булочка', 15)
add_item('чай', 5)
print_receipt()

add_item('булочка', 15)
add_item('булочка', 15)
# (отменить чек) - этот чек не печатаем

вывод:
чек 1. всего предметов: 1
блокнот - 100
итого: 100

чек 2. всего предметов: 1
ручка - 70
итого: 70

чек 3. всего предметов: 3
булочка - 15
булочка - 15
чай - 5
итого: 35


примечания:
это относится к большинству , но не лишним будет напомнить, что решить можно несколькими способами.​

245
343
Посмотреть ответы 2

Ответы на вопрос:

Zayka1231
4,5(14 оценок)

class receipt:

    def ):

        self.number = 1

        self.amount = 0

        self.cost = 0

        self.lines = []

    def add_item(self, item, cost):

        self.amount += 1

        self.lines.append("%s - %s" % (item, str(

        self.cost += cost

    def new(self):

        self.number += 1

        self.amount = 0

        self.cost = 0

        self.lines = []

    def print(self):

        if self.amount ! = 0:

            print("чек %s. всего предметов: %s" % (self.number, self.amount))

            for line in self.lines:

                print(line)

            print("итого: %s" % self.cost)

            print("")

            self.new()

       

r = receipt()

def add_item(item, cost, receipt = r):

    receipt.add_item(item, cost)

def print_receipt(receipt = r):

    r.print()

add_item('блокнот', 100)

print_receipt()

add_item('ручка', 70)

print_receipt()

print_receipt()

add_item('булочка', 15)

add_item('булочка', 15)

add_item('чай', 5)

print_receipt()

add_item('булочка', 15)

add_item('булочка', 15)

# (отменить чек) - этот чек не печатаем

этот код печатает следующее:

чек 1. всего предметов: 1

блокнот - 100

итого: 100

чек 2. всего предметов: 1

ручка - 70

итого: 70

чек 3. всего предметов: 3

булочка - 15

булочка - 15

чай - 5

итого: 35


var

i:integer;

begin

i:=10;

while (i+7<100) do begin

inc(i,7);

write(i,' ');

end;

end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS