|
1 / 1 / 0
Регистрация: 15.02.2019
Сообщений: 8
|
|
Длинный чек22.02.2019, 16:03. Показов 38374. Ответов 12
Метки нет (Все метки)
Для работы небольшого магазинчика вас попросили сделать небольшой набор функций, обеспечивающих работу с чеками. В качестве пробной версии вам нужно реализовать всего два действия: добавление покупки к набору покупаемых товаров, и печать чека. После того как чек напечатан должно быть возможно вводить новый список товаров.
По правилам оформления документов в каждом чеке вы должны напечатать сначала номер чека (нумерация начинается с единицы) и число товаров, затем список товаров с ценами и в конце — итоговую стоимость. Из-за того, что вы не знаете число товаров, пока кассир не «пробьет» последний товар, нельзя печатать чек по мере ввода товаров. Приходится сначала добавить все необходимые товары и только затем печатать весь чек целиком. В конце чека печатается черта (состоящая из пяти знаков минус), по которой он отрывается от ленты. Организуйте две функции: add_item(itemName, itemCost) и print_receipt(), которые реализуют указанный функционал. Форматирование сделайте по шаблону в примере. В случае, когда чек пуст, print_receipt не должна печатать чек. Не забудьте, что после того как чек напечатан, набор выбранных товаров должен обнулиться, чтобы можно было вводить товары для нового чека.
0
|
|
| 22.02.2019, 16:03 | |
|
Ответы с готовыми решениями:
12
Длинный чек Интерактивный чек Длинный плакат |
|
|
|
| 22.02.2019, 16:11 | |
|
yugin234, напишите сначала свою версию реализации...
и пример входных данных и выхода напишите.
0
|
|
|
5224 / 3471 / 1173
Регистрация: 21.03.2016
Сообщений: 8,298
|
|
| 22.02.2019, 19:12 | |
|
0
|
|
|
|
|
| 22.02.2019, 19:59 | |
|
А если 2 единицы одного товара?
Добавлено через 2 минуты yugin234, и как их считать тогда, как один товар? или как два?.. и по-хорошему нужно ещё количество единиц каждого товара выводить.
0
|
|
|
|
||||||
| 22.02.2019, 20:44 | ||||||
Сообщение было отмечено mik-a-el как решение
Решение
yugin234, в общем, вот на скорую написал программу, которая всё красиво выводит. Хотите - улучшайте. Думаю, под себя сможете подогнать сами?
Кликните здесь для просмотра всего текста
Выберите товар бананы Цена 30 Выберите товар молоко Цена 20 Выберите товар апельсин Цена 15 Выберите товар бананы Добавлена ещё одна единица товара бананы Выберите товар молоко Добавлена ещё одна единица товара молоко Выберите товар чек: 1 ; видов товара: 3 всего товаров: 5 бананы x2 : 60.0 молоко x2 : 40.0 апельсин x1 : 15.0 итоговая стоимость: 115.0 ----- Выберите товар гречка Цена 14 Выберите товар рис Цена 10 Выберите товар гречка Добавлена ещё одна единица товара гречка Выберите товар мясо Цена 90 Выберите товар чек: 2 ; видов товара: 3 всего товаров: 4 гречка x2 : 28.0 рис x1 : 10.0 мясо x1 : 90.0 итоговая стоимость: 128.0
0
|
||||||
|
|
|
| 23.02.2019, 02:37 | |
|
IRIP, не научит, увы, пока человек сам не начнёт пробовать..
эх... вспоминаю себя. проходил курсы на степике. был таким же. даже с первого курса гуглил задания. интересно будет через годик его же пройти
0
|
|
|
11 / 10 / 1
Регистрация: 02.03.2019
Сообщений: 16
|
||||||
| 04.04.2019, 21:46 | ||||||
0
|
||||||
|
2 / 2 / 0
Регистрация: 25.10.2019
Сообщений: 3
|
|
| 02.04.2020, 14:47 | |
|
names = []
def hello(name): if None in query: names.append(name) number_in_queue = names.index(name) query[number_in_queue] = name print(f"Здравствуйте, {name}! Подойдите к окошку номер", number_in_queue + 1) else: print(f"Простите, {name}, все окна заняты.") def search_card(name): if None in query: if name in base: number_of_card = str((int(base.index(name))) + 1) print('Ваша карта с номером ' + number_of_card + ' найдена') else: print('Ваша карта не найдена') else: print(f"Простите, {name}, дождитесь своей очереди") def good_bye(name): if name in names: print(f"До свидания, не болейте, {name}") else: print(f"Простите, {name}, дождитесь своей очереди")
0
|
|
|
2 / 2 / 0
Регистрация: 05.05.2020
Сообщений: 31
|
|
| 09.05.2020, 16:10 | |
|
глохнет если ввести только print_receipt()
0
|
|
|
12 / 12 / 1
Регистрация: 10.02.2021
Сообщений: 14
|
||||||
| 17.01.2022, 17:29 | ||||||
|
Вот этот код только что прошёл проверку, все робит
2
|
||||||
| 17.01.2022, 17:29 | |
|
Помогаю со студенческими работами здесь
13
Задача 5: Длинный плакат Длинный чек
Чек Чек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|