что значит abnormal_exit

Рейтинг: 1Ответов: 0Опубликовано: 07.04.2023

я выполняю задание, которое проверяеться на удаленном сервере и он присылает мне ошибку

Completion status: ABNORMAL_EXIT
Term sig: null
Error code: 1

и я не представляю, что это значит, если кто-то знает, что это значит, подскажите плз(код на питоне)

Код

import json

class User:

    def __init__(self, index: str, triggers: list, shipment: list):
        self._index = int(index)
        self._triggers = self._listToDict(triggers)
        self._shipments = self._listToDict(shipment)

    @staticmethod
    def _listToDict(obj: list):
        result = {}
        for key in obj:
            result[key] = key
        return result

    @property
    def index(self):
        return self._index

    @property
    def triggers(self) -> dict:
        return self._triggers

    @property
    def shipments(self) -> dict:
        return self._shipments


class Offer:

    _offer: dict = {'price': None, 'stock_count': None, 'partner_content': None}
    _isChange: dict = {'price': False, 'stock_count': False, 'partner_content': False}

    def __init__(self, index: str):
        self._index = index

    @property
    def index(self):
        return self._index

    @property
    def isChangePrice(self):
        return self._isChange['price']

    @property
    def isChangeStockCount(self):
        return self._isChange['stock_count']

    @property
    def isChangePartnerContent(self):
        return self._isChange['partner_content']

    # setters
    def set_price(self, obj: int):
        self._isChange['price'] = False
        if obj is not None and self._offer['price'] != obj:
            self._offer['price'] = obj
            self._isChange['price'] = True

    def set_stock_count(self, obj: int):
        self._isChange['stock_count'] = False
        if obj is not None and self._offer['stock_count'] != obj:
            self._offer['stock_count'] = obj
            self._isChange['stock_count'] = True

    def set_partner_content(self, obj: dict):
        self._isChange['partner_content'] = False
        if obj is not None:
            if type(self._offer['partner_content']) != dict:
                self._offer['partner_content'] = {}
            for key in ['title', 'description']:
                value = obj.get(key)
                if value is not None and self._offer['partner_content'].get(key) != value:
                    self._offer['partner_content'][key] = value
                    self._isChange['partner_content'] = True

    # helpers
    def get_offer(self, fields: list):
        result = {'id': self.index}
        for field in fields:
            value = self._offer[field]
            if value is not None:
                result[field] = value
        return result


if __name__ == '__main__':
    n, m = [int(i) for i in input().split()]

    # users
    users_price = []
    users_stock_count = []
    users_partner_content = []

    # offers
    offers = {}

    for i in range(n):
        a, b, *services = input().split()
        temp_index = str(i + 1)
        user = User(temp_index, services[:int(a)], services[int(a):int(a)+int(b)])

        price = user.triggers.get('price')
        stock_count = user.triggers.get('stock_count')
        partner_content = user.triggers.get('partner_content')

        if price:
            users_price.append(user)

        if stock_count:
            users_stock_count.append(user)

        if partner_content:
            users_partner_content.append(user)

    for i in range(m):
        users = {}
        data = json.loads(input())

        trace_id = data['trace_id']  # trace_id
        temp_offer = data['offer']
        offer_id = temp_offer['id']  # index offer

        offer = offers.get(offer_id)
        if offer is None:
            offer = Offer(offer_id)
            offers[offer_id] = offer

        offer.set_price(temp_offer.get('price'))
        offer.set_stock_count(temp_offer.get('stock_count'))
        offer.set_partner_content(temp_offer.get('partner_content'))

        # 1
        if offer.isChangePrice:
            for user in users_price:
                users[user.index] = user

        if offer.isChangeStockCount:
            for user in users_stock_count:
                users[user.index] = user

        if offer.isChangePartnerContent:
            for user in users_partner_content:
                users[user.index] = user

        for key in sorted(users.keys()):
            user = users[key]
            user_fields = [*user.triggers, *user.shipments]
            notification = {
                'trace_id': trace_id,
                'offer': offer.get_offer(user_fields)
            }
            print(json.dumps(notification))

Ответы

Ответов пока нет.