Котаны, приветствую!

Спешу сообщить, что Лаборатория свободных технологих объявляет о старте нового проекта с кодовым названием “Project T”. Он будет использовать таблицы для хранения данных. Как только будет готова первая версия, прикручу SQLite-базу. Исходный код будет открыт. Лицензия GPLv2. Для оффтопика буду распространять в виде exe-файла полноценной программы. Так что все смогут принять участие в её тестировании. Так же я должен буду изучить способы автотетирования с использованием Python’а, на этом проекте. Программу буду использовать в своём сервисе. Так же она послужит портфолио, если буду устраиваться на работу на дядю тестировщиком или кодером, если клюентов у моего сервиса не будет. Потом подумаем вместе, какое название ей придумать с использованием буквы ё - это обязательно.

Есть ли понятие класса в Python’e? Мне сразу проектировать его как ООП или в скриптовом языке это невозможно?

  • Anoxemian
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Стив Баллмер врывается на сцену и, прыгая в диком угаре, орет: “recursion, recursion, recursion!!!”

    • xwickedOP
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      Стив Баллмер врывается на сцену и, прыгая в диком угаре, орет: «recursion, recursion, recursion!!!»

      Да, я походу это понял и теперь пытаюсь эту рекурсию побороть глобальной переменной со счётчиком, но не могу никак её объявить. Во всех местах уже пихал - не видит. Думает что она локальная и всё.

      iCount = iCount + 1
                   ^^^^^^
      UnboundLocalError: cannot access local variable 'iCount' where it is not associated with a value
      
      • Anoxemian
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Тебе надо сделать выход из функции, если значение не менялось.

        • xwickedOP
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago
             def slotCellChanged(self, i, j):
                  iHours = 0
                  iTotal = 1
                  iCostHours = int(self.leCostHours.text())
                  s = self.tableWidget.item(i, iHours).text()
                  if s.isdigit() == True:
                      if int(s) > 15:
                          s = str(15)
                          self.tableWidget.item(i, iHours).setText(s)
                      s = str(int(s) * iCostHours)
                      if self.iCount < 2:
                          self.iCount = self.iCount + 1
                          self.tableWidget.item(i, iTotal).setText(s)
                  else:
                      self.tableWidget.item(i, j).setText("")
          
              def slotCellClicked(self, i, j):
                  self.iCount = 0
                  iHours = 0
                  iTotal = 1
                  if j == iTotal:
                      self.tableWidget.setCurrentCell(i, iHours)
          

          Под конец дня победил глобальной переменной iCount. Обращение через self почему-то. :D