Форум сайта python.su
0
Приветствую!
Решаю сейчас задачу на Python:
Вскоре к абстрактному интернет-сайту будет добавлена новая услуга: электронная корзина (кошелeк). То есть в системе хранятся данные
о клиентах сайта и их финансовых операциях / операциях.
Требуется написать программу, которая обрабатывает (вводимые ??) данные,
и на выходе консоли вы получите: Клиент «Петр Павлов». Баланс: 100 долларов.
Для начала, я хотел бы верифицировать на алгоритмическом уровне, что здесь должно происходить. Я мыслю так:
1. Сначала система запрашивает имя клиента.
2. Заказчик указывает свое имя.
3. Имя должно быть сохранено.
4. Затем я должен смоделировать операции, как если бы этот клиент что-то заказывал (услугу или товар).
4а. Какой именно товар или услугу покупатель (небольшой перечень с наименованиями и ценами?) может заказать - это мог бы придумать я.
5. Если клиент заказывает услугу / товар - затем услуга/товар помещается в корзину (по желанию с количеством товаров/услуг … но изначально хорошо бы и без количества) с названием товара.
6. Текущая общая стоимость заказанных товаров также должна быть проиндексирована в корзине. Цена каждого нового заказа должна быть добавлена …
7. …… ???
8. …….. ????
Да, это первые идеи. Прошу советов, добавлений и поправок.
После разработки алгоритма я хотел бы реализовать его с помощью кода в Python - и в этом мне также понадобится ваша помощь.
Отредактировано Rikin (Дек. 21, 2021 03:22:34)
Офлайн
857
RikinКак-то неконкретно написано. Видимо, ты что-то пропустил, что там делалось ранее.
Требуется написать программу, которая обрабатывает (вводимые ??) данные
RikinЭто можно получить, введя просто имя клиента. Операций здесь не наблюдается.
и на выходе консоли вы получите: Клиент «Петр Павлов». Баланс: 100 долларов.
RikinЯсно, что у тебя должен быть объект сайт и должен быть объект электронная корзина. Эти объекты друг с другом общаются туда-сюда. Так вот объекта сайт что-то не наблюдается.
Вскоре к абстрактному интернет-сайту будет добавлена новая услуга: электронная корзина (кошелeк).
Офлайн
0
Я уточнил по заданию и ответ такой:
“по алгоритму (см. выше: 1. - 6. ….-8.) мысли правильные.
Жёстких требиваний по заданию нет, рассматривать задачу и ее постановку как творческий процесс.
На выходе программа должна показать имя и общий балланс/сумму.”
Поставлю задачу (творчески, по образу и подобию того что делалось ранее) - стало быть, я сам.
Пишу код, но там не всё работает как я хотел бы, кое-что и не работает - и мне нужна ваша помощь и коррекция ошибок.
Создаю список “works” с подлежащими обработке данными “name”: …., “activity”: …., “costs”: ….
и присваиваю этим данным спектр значений для обработки в будущем цикле.
Этот список “works” - перечень выполняемых на неком предприятии в принципе возможных работ “activities” (типа возможных разнарядок, трудовых пакетов и их стоимость- что ли…).
Задача (для начала) - чтобы программа выбрала из списка “works” разнарядки “activities”/трудовые пакеты Nr.1, Nr.2, Nr. 3
и распечатала только лишь их на выходе.
Когда это отладится - тогда я буду думать еще как просуммировать “costs” выбранных номеров “activities” - но об этом лучше потом, не сразу: to avoid overloading.
Ниже привожу код на данный момент :
# FileName 'Constructor_Class_workPackage.py' # creating class Work class Work: def __init__(self, name="", activity="", costs=0): self.name = name self.activity = activity self.costs = costs def init_from_dict(self, works_dict): self.name = works_dict.get("name") self.gender = works_dict.get("activity") self.age = works_dict.get("costs")
FileName 'output_choosed_Workpackage.py' from Constructor_Class_workPackage import Work works = [{"name": "Max Must", "activity": "Software development 1", "costs": 100}, {"name": "Peter Beisp", "activity": "Software development 1", "costs": 95}, {"name": "Jacky Sparrowson", "activity": "Management", "costs": 70}, {"name": "Tonia Tirolsenia", "activity": "Software Testing area 1", "costs": 85}, {"name": "Antony Tirolsen", "activity": "Software Testing area 2", "costs": 80}, {"name": "Mister A", "activity": "buying materials group A", "costs": 35}, {"name": "Mister X", "activity": "buying materials group B", "costs": 35}, {"name": "Mister Y", "activity": "buying materials group Y", "costs": 30}, {"name": "Mister Z", "activity": "buying materials group Z", "costs": 25}] for work in works: obj_work = Work() # creating object obj_work from the class Work obj_work.init_from_dict(work) # print(works(range(1, 3))) ??? hier my Idea was ... to select and to print elements Nr.1 till Nr.3 # from the list 'works' but I get hier -> error... #Hier I'm asking for corrrecting and for helping print("name work:", obj_work.name) print("activity work:", obj_work.activity) print("costs work:", obj_work.costs) print('\n')
C:\Users\Onri\......Projects\........Praktikum\venv\Scripts\python.exe C:/Users/Onri/.......Projects/........Praktikum/output_choosed_Workpackage.py name work: Max Must activity work: costs work: 0 name work: Peter Beisp activity work: costs work: 0 name work: Jacky Sparrowson activity work: costs work: 0 name work: Тonia Tirolsenia activity work: costs work: 0 name work: Antony Tirolsen activity work: costs work: 0 name work: Mister A activity work: costs work: 0 name work: Mister X activity work: costs work: 0 name work: Mister Y activity work: costs work: 0 name work: Mister Z activity work: costs work: 0 Process finished with exit code 0
Офлайн
0
к вышеприведенному состоянию/релизу кода есть несколько вопросов:
1.
Параметру “costs” списка ‘works’ было изначально присвоено значение 0, Но далее в списке ‘works’ параметру “costs” я задумал передавать значения (по списку).
При этом я исходил из того, что при пробеге циклом-FOR по значениям - все эти значения один за другим будут распечатаны на выходе: как это успешно и происходит
с параметром ‘Name’. Но это моё ожидание пока не стало реальностью.
Прошу помощь и поправки.
2.
Значения параметра “activity” списка ‘works’ после Run - вообще пустые на выходе.
str-значения из списка ‘works’ вообще не были переняты на выходе, хотя был задействован цикл FOR…
Прошу помощь и поправки.
3.
Строки 17-19 я закомментировал: здесь я хотел выбрать из общего списка ‘works’ лишь элементы Nr.1, Nr.2, Nr.3 der Liste и вывести их на выход,
но если я активирую команду
# print(works(range(1, 3))) без # в начале строки,- то получаю нижеследующее сообщение об ошибке:
C:\Users\Onri\........Projects\..........Praktikum\venv\Scripts\python.exe C:/Users/Onri/.........Projects/............Praktikum/output_choosed_Workpackage.py File "C:/Users/Onri/........Projects/............Praktikum/output_choosed_Workpackage.py", line 17 print(works(range(1, 3))) ??? select elements Nr.1 till Nr.3 ^ SyntaxError: invalid syntax Process finished with exit code 1
Офлайн
857
Вот смотри, у тебя в первом сообщении написано
RikinК какому абстрактному сайту? Где он находится? Если его нет, то как к нему может быть что-то добавлено?
Вскоре к абстрактному интернет-сайту будет добавлена новая услуга: электронная корзина (кошелeк).
RikinИ при чём здесь абстрактный сайт?
Создаю список “works” с подлежащими обработке данными “name”: …., “activity”: …., “costs”: ….
Офлайн
0
Вот поэтому задача была и перепоставлена (чтобы обойтись без абстракций) на задачу с
перечнем выполняемых на неком предприятии в принципе возможных работ “activities” (типа возможных разнарядок, трудовых пакетов и их стоимость…).
Я об этом и написал.
И далее пытаюсь под обновлённую задачу (исключив абстрактность) написать код.
Офлайн
857
RikinТак это другая задача уже. Для каждой задачи открывай топик этой задачи. Всё в одну свалку валить - это не программисты так делают, это колхозники в коровнике так делают. Пока начальство не видит, они сваливают навоз и молоко в одну кучу, а потом вообще это всё в речку сливают ближайшую. Но ведь это тупо. Всё должно быть на своих отдельных местах. Это правило есть такое в программировании.
Вот поэтому задача была и перепоставлена
Офлайн
0
Многие великие люди как раз из колхозников и происходят…, восходя от простого и не зазнавшись… Как Ломоносов например.
Подумаешь
…, навоз, коровник - это же правда (и запах) жизни которую тоже следует пройти. Или Пётр 1 - не гнушался простых работ…
Просто перестроение задачи произошло по ходу вопроса (а выполнение кода шло по кальке с исходника)- сказали же: процесс творческий, на своё усмотрение…
Ладушки, раз начальство изволило - субординацию буду уважать и защищать. Тем более хорошее и мудрое начальство.
Замечание принято.
Отредактировано Rikin (Дек. 26, 2021 01:40:43)
Офлайн
857
RikinВот сейчас вся Дума наполнена колхозниками. Вот ты можешь наглядно посмотреть все их интересы, к чему они там стремятся, что они умеют и чему они учатся. Это не Ломоносовы ни разу и не Калашниковы. Это просто обычная колхозная быдлота, на которую свалились деньги, власть и прочие плюшки, атрибуты света. Делать они ничего не умеют. И не учатся делать чего-нибудь. Потому что золотой унитаз - стандартная мечта колхозника - у них уже есть, а дальше мечать не о чем. И это мерило успеха. Может, ты удивляешься, что у нас медицина развалена, экология природы или там образование? Я - нет.
Многие великие люди как раз из колхозников и происходят
RikinПоэтому мы не будем делать так, как они. Мы будем делать так, как надо делать. Ок?
Ладушки, раз начальство изволило - субординацию буду уважать и защищать. Тем более хорошее и мудрое начальство.
Замечание принято.
Офлайн