Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 12, 2014 19:55:27

sanya0971
Зарегистрирован: 2014-10-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с отладкой

Установил PyCharm. При отладке простейшего кода возникает ошибка, не могу понять в чем…
Буду благодарен за ответ!
http://pikucha.ru/idDWb

Офлайн

#2 Окт. 12, 2014 19:58:47

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Проблема с отладкой

пишет же , что нет нужного атрибута. советую весь код бросить сюда и ошибку тоже. Не хочется перепечатывать со скрина.

Офлайн

#3 Окт. 12, 2014 20:26:57

sanya0971
Зарегистрирован: 2014-10-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с отладкой

До этого писал на плюсах в VS. там все проще было…
В стандартном IDLE тоже ошибка при выполнении X=Set() - если заходить через Step, через Over проходит нормально и в целом программа работает.
http://pikucha.ru/idDY6
П.С может нужно настроить как-то саму IDE?

class Set:
    def __init__(self,value=):
        self.data=
        self.concat(value)
    def intersect(self,other):
        res=
        for x in self.data:
            if x in other:
                res.append(x)
        return Set(res)
    def union(self,other):
        res=self.data
        for x in other:
            if not x in res:
                res.append(x)
        return Set(res)
    def concat(self,value):
        for x in value:
            if not x in self.data:
                self.data.append(x)
    def __len__(self):
        return len(self.data)
    def __getitem__(self,key):
        return self.data
    def __and__(self,other):
        return self.intersect(other)
    def __or__(self,other):
        return self.union(other)
    def __repr__(self):
        return 'Set:'+repr(self.data)
X=Set()
print(X.union(Set()))
print(X | Set())

Отредактировано sanya0971 (Окт. 12, 2014 20:55:30)

Офлайн

#4 Окт. 12, 2014 23:44:16

sanya0971
Зарегистрирован: 2014-10-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с отладкой

Скачал эклипс+пайдев, тоже проблема с дебагером…
Unexpected error setting up the debugger
Socket operation on nonsocket: configureBlocking

Кто знает как решить?

Офлайн

#5 Окт. 13, 2014 00:09:28

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблема с отладкой

я думаю проблема не в IDE, а в коде

print(X.union(Set()))
print(X | Set())
стремные конструкции, попробуйте так:

class Set:
    def __init__(self,value=[]):
        self.data=[]
        self.concat(value)
    def intersect(self,other):
        res=[]
        for x in self.data:
            if x in other:
                res.append(x)
        return Set(res)
    def union(self,other):
        res=self.data
        for x in other:
            if not x in res:
                res.append(x)
        return Set(res)
    def concat(self,value):
        for x in value:
            if not x in self.data:
                self.data.append(x)
    def __len__(self):
        return len(self.data)
    def __getitem__(self,key):
        return self.data
    def __and__(self,other):
        return self.intersect(other)
    def __or__(self,other):
        return self.union(other)
    def __repr__(self):
        return 'Set:'+repr(self.data)
X=Set([1,3,5,7])
print(X.union([1,4,7]))
print(X | [1,4,6])

Кто-то может объяснить что означает символ | в данном контексте?
И собственно почему приложение уходит в бесконечный цикл, если юзать код ТС?

Офлайн

#6 Окт. 13, 2014 00:26:53

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Проблема с отладкой

bs0d
я думаю проблема не в IDE, а в коде
Не в его коде.

bs0d
Кто-то может объяснить что означает символ | в данном контексте?
Смотри на метод __or__

bs0d
И собственно почему приложение уходит в бесконечный цикл, если юзать код ТС?
Сам разберись, в коде не хватает скобок.



Офлайн

#7 Окт. 13, 2014 00:33:31

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Проблема с отладкой

sanya0971
Установил PyCharm. При отладке простейшего кода возникает ошибка, не могу понять в чем…

Зайди в оболочку Python.
Покажи:
>>> import _thread
>>> _thread
<module '_thread' (built-in)>

А лучше залезь в файл pydevd.py
И перед строкой
_original_start_new_thread = thread.start_new_thread
Вставь
print(thread)
И покажи вывод(снова дебагер запусти, там вывод будет)



Отредактировано Budulianin (Окт. 13, 2014 00:38:05)

Офлайн

#8 Окт. 13, 2014 00:44:02

bs0d
Зарегистрирован: 2014-02-01
Сообщения: 76
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблема с отладкой

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

X=Set([1,3,5,7])
print(X.union(Set([1,4,7])))
print(X | Set([1,4,6]))

Офлайн

#9 Окт. 13, 2014 01:11:24

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Проблема с отладкой

bs0d
да про скобки понятно
Если бы тебе было понятно, то ты бы не спрашивал.
Метод неправильно записан.



Офлайн

#10 Окт. 13, 2014 01:47:40

sanya0971
Зарегистрирован: 2014-10-12
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с отладкой

Ребят, да не в методе дело, правильно или неправильно… я хоть пишу print('Hello') все равно дебагер не заработает от этого

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version