Не оффтоп!
Goto дальше.

Еще один привет змееловам!
Есть тема «Абстрактная модель рентгенофлуорисцентных приборов». Для меня Vb является запредельной технологией, а от такой формулировки настроение вообще портится. Как можно на пИтоне такое запрограммировать? Там, как я понял, нужен один класс, в котором будут такие методы:
1. Доступ к прибору
2. Идёт ли съемка
3. Определение настроек
4. Запись и установка настроек
5. Считывание информации
Чем абстрактнее модель, тем она лучше, так как в дальнейшем ее можно будет переделать под конкретный прибор.
Дальше class pribor: дело не продвинулось. Может кто поможет? Куски кода приветствуются. Или есть у кого какая-нибудь абстрактная модель какого-нибудь прибора. Не дайте пропасть без 5 минут специалисту!
Что-то я лично с трудом понимаю, что вам нужно. Если у вас есть какое (учебное, как я понимаю) задание, то лучше привести его полный текст сюда.
Вот тема «Абстрактная модель рентгенофлуорисцентных приборов»
Вот что нужно от класса.
1. Доступ к прибору
2. Идёт ли съемка
3. Определение настроек
4. Запись и установка настроек
5. Считывание информации
И всё. Вот так вот нас обучают. Мне бы просто "догнать" как абстрактная модель прибора выглядит в коде.
Нам бы догнать как абстрактная модель прибора выглядит вообще. Если подходить формально, то
import datetime

class DreamDevice(object):

    def __init__(self):
        self.started_at = datetime.datetime.now()
        self.exposition = 0
        self.config = {
            'develop_time': 5,               # время на проявку снимка, в сек
            'default_exposition': 0.325,  # экспозиция по умолчанию
        }

    def __shoot(self):
        return "Make a roentgenogram with expo %.3f seconds and such config: %s" % (self.exposition, self.config)

    def expose(self, exposition=None):
        if exposition is None:
            exposition = self.config['default_exposition']
        # делаем снимок с экспозицией exposition
        self.started_at = datetime.datetime.now()
        self.exposition = exposition
        # каким-то образом запускается съемка
        self.__roentgenogram = self.__shoot()

    def is_exposing_now(self):
        # тут решаем, идет съемка или нет
        return datetime.datetime.now() < (self.started_at + datetime.timedelta(0,self.exposition))

    def get_roentgenogram(self):
        if datetime.datetime.now() < (self.started_at + datetime.timedelta(0,self.exposition) + datetime.timedelta(0,self.config['develop_time'])):
            raise RuntimeError("Roentgenogram is not ready")
        else:
            return self.__roentgenogram
>> device = DreamDevice()
>>> device.config
{'default_exposition': 0.32500000000000001, 'develop_time': 5}
>>> device.config['develop_time'] = 12
>>> device.is_exposing_now()
False
>>> device.expose(45)
>>> device.is_exposing_now()
True
>>> device.get_roentgenogram()

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in -toplevel-
    device.get_roentgenogram()
  File "/home/j2a/tmp/dream_device.py", line 32, in get_roentgenogram
    raise RuntimeError("Roentgenogram is not ready")
RuntimeError: Roentgenogram is not ready
>>> device.get_roentgenogram()
"Make a roentgenogram with expo 45.000 seconds and such config: {'default_exposition': 0.32500000000000001, 'develop_time': 12}"

Last edited March 12, 2007, 5:30 a.m.

Be easy, stay cool
Нам бы догнать как абстрактная модель прибора выглядит вообще
Вот и мне бы также.
За код grand mercy! Вот только его бы еще понять...