Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 22.05.2018, 14:28   #1
aliceliddell
Новичок
Джуниор
 
Регистрация: 22.05.2018
Сообщений: 1
По умолчанию Есть код на Python, нужно построить диаграмму взаимодействия, код в теме

Здравствуйте! Есть код на Python, нужно построить диаграмму взаимодействия... Построила, преподаватель уже раз четвёртый отправляет на доработку и пишет: "в uml действие по созданию экземпляра класса имеет определённое обозначение
---------
в коде 2-ой оператор:
img.fill((127,127,12))
и на диаграмме 2-ое действие должно представлять этот оператор.
у вас на диаграмме 2-ое действие: img вызывает fill() у _image,
экземпляра класса image - не соответствует коду"

Вот код:

Код:
# -*- coding: utf-8 -*-
from functools import partial
from PIL import Image as ImagePil

class ImageBase(object):
  @classmethod
  def create(cls, width, height):
    """Создаетизображение"""
    return cls(width, height)

  def draw(self, x, y, color):
    raise NotImplementedError()

  def fill(self, color):
    raise NotImplementedError()

  def save(self, filename):
        raise NotImplementedError()


class Image(ImageBase):
    def init(self, width, height):
self._img = ImagePil.new('RGB', (width, height), (0, 0, 0))
self._pixels = self._img.load()

  def draw(self, x, y, color):
print('Drawing a dot at (%d, %d) with color: %s' % (x, y, str(color)))
self._pixels[x, y] = color

  def fill(self, color):
print('Filling with color: %s' % str(color))
self._img.paste(color, [0, 0, self._img.size[0], self._img.size[1]])

  def save(self, filename):
print('Saving to %s' % filename)
self._img.save(filename, 'PNG')


class ImageProxy(ImageBase):
  def init(self, *args, **kwargs):
self._image = Image(*args, **kwargs)
self.operations = []

  def draw(self, *args):
func = partial(self._image.draw, *args)
self.operations.append(func)

  def fill(self, *args):
func = partial(self._image.fill, *args)
self.operations.append(func)

  def save(self, filename):
map(lambda f: f(), self.operations)
self._image.save(filename)

img = ImageProxy(20, 20)
img.fill((127, 127, 127))
img.draw(0, 0, (0, 255, 0))
img.draw(0, 1, (0, 255, 0))
img.draw(1, 0, (0, 255, 0))
img.draw(1, 1, (0, 255, 0))
img.save('image.png')

input()
Помогите, пожалуйста, разобраться!
Изображения
Тип файла: png диаграмма взаимодействий 3 вар.png (13.9 Кб, 43 просмотров)
aliceliddell вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть код нужно сделать программу Candide Помощь студентам 9 13.07.2016 02:09
Нужно построить диаграмму((( grooveone Паскаль, Turbo Pascal, PascalABC.NET 3 14.12.2013 14:22
C++. Есть код нужно исправить ошибки megavolt91 Общие вопросы C/C++ 6 06.06.2009 18:27
C++. Есть код нужно исправить ошибки megavolt91 Помощь студентам 1 01.06.2009 17:38
Есть код программы на с++. Нужно обьяснение Alex1991 Помощь студентам 1 16.03.2009 14:37


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS