Найти - Пользователи
Полная версия: Проблема с отладкой
Начало » Python для новичков » Проблема с отладкой
1 2
sanya0971
Установил PyCharm. При отладке простейшего кода возникает ошибка, не могу понять в чем…
Буду благодарен за ответ!
http://pikucha.ru/idDWb
sypper-pit
пишет же , что нет нужного атрибута. советую весь код бросить сюда и ошибку тоже. Не хочется перепечатывать со скрина.
sanya0971
До этого писал на плюсах в 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
Скачал эклипс+пайдев, тоже проблема с дебагером…
Unexpected error setting up the debugger
Socket operation on nonsocket: configureBlocking

Кто знает как решить?
bs0d
я думаю проблема не в 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])

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

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

bs0d
И собственно почему приложение уходит в бесконечный цикл, если юзать код ТС?
Сам разберись, в коде не хватает скобок.
Budulianin
sanya0971
Установил PyCharm. При отладке простейшего кода возникает ошибка, не могу понять в чем…

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

А лучше залезь в файл pydevd.py
И перед строкой
_original_start_new_thread = thread.start_new_thread
Вставь
print(thread)
И покажи вывод(снова дебагер запусти, там вывод будет)
bs0d
Budulianin
да про скобки понятно
я имею ввиду, если использовать конструкцию:
X=Set([1,3,5,7])
print(X.union(Set([1,4,7])))
print(X | Set([1,4,6]))
Budulianin
bs0d
да про скобки понятно
Если бы тебе было понятно, то ты бы не спрашивал.
Метод неправильно записан.
sanya0971
Ребят, да не в методе дело, правильно или неправильно… я хоть пишу print('Hello') все равно дебагер не заработает от этого
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB