1. Python / Говнокод #23059

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    #!/usr/bin/python
    #encoding: utf-8
    
    import sys
    import time
    import socket
    import asyncore
    import exceptions
    
    from socket import AF_INET, SOCK_STREAM
    from asyncore import dispatcher
    from threading import Thread, RLock
    
    class PiCalcThread(Thread):
        def __init__(self, buffer, lock):
            Thread.__init__(self)
            self.buffer = buffer
            self.lock = lock
            
        def run(self):
            """ See http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/spigot.pdf """
            q,r,t,k,n,l = 1,0,1,1,3,3
            
            while True:
                if 4*q+r-t < n*t:
                    self.lock.acquire()
                    self.buffer.newDigits(str(n))
                    self.lock.release()
                    
                    q,r,t,k,n,l = (10*q,10*(r-n*t),t,k,(10*(3*q+r))/t-10*n,l)
                else:
                    q,r,t,k,n,l = (q*k,(2*q+r)*l,t*l,k+1,(q*(7*k+2)+r*l)/(t*l),l+2)
                
                time.sleep(0.001)
    
    class PiGenerator(list):
        def __init__(self):
            list.__init__(self)
            self.calculator = None
            self.lock = RLock()
            self.digits = ''
        
        def subscribe(self, obj):  
            self.lock.acquire()
            try:     
                self.append(obj)
                self._notify(obj=obj)
            finally:
                self.lock.release()            
                
            if not self.calculator:
                self.calculator = PiCalcThread(self, self.lock)
                self.calculator.start()
            else:
                if len(self) > 0:
                    self._resumeCalculator()
                    
        def unsubscribe(self, obj):
            self.lock.acquire()
            self.remove(obj)   
            self.lock.release()
                 
            if len(self) <= 0:
                self._pauseCalulator()
                
        def _pauseCalulator(self):
            self.lock.acquire()
        
        def _resumeCalculator(self):
            try: self.lock.release()
            except exceptions.AssertionError: pass
                
        def _notify(self, digits = None, obj = None):
            objs = [obj] if obj else self
            digits = digits or self.digits
            
            for obj in objs:
                obj.update(digits)
            
        def newDigits(self, digits):
            self.digits += digits
            self._notify(digits)

    Lis, 23 Мая 2017

    Комментарии (5)
  2. Python / Говнокод #23032

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    def inputCountSeq():
        try:
          countSeq=int(input("Введите количество элементов в последовательности от 1 до 1000: \r >"))
        except :
          print("[Ошибка] Введенные вами данные неверны")
          inputCountSeq()
          
        if (countSeq > 1000 or countSeq < 1):
          print("[Ошибка] Введенное число не соответствует указанному диапазону( 1 <= x <= 1000)")
          inputCountSeq()
          
        return countSeq
        
    print(inputCountSeq())

    Вводим -1 , получаем ошибку "Введенное число не соответствует указанному диапазону" ,после чего вводим 1 , а в возвращается все равно -1.

    https://repl.it/IAMA/3

    partizanes, 16 Мая 2017

    Комментарии (16)
  3. Python / Говнокод #23006

    +3

    1. 1
    2. 2
    if str(type(date))!="<class 'datetime.date'>":
        date=date.date()

    Решил перевести datetime.datetime в datetime.date

    peterder72, 10 Мая 2017

    Комментарии (11)
  4. Python / Говнокод #20869

    +1345

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    # Далее перечислены все флаги, с помощью которых выбирается то или иное поведение различных копий сайтов.
    #
    # INSTANCE_SPECIFIC_DJANGO_DEBUG
    #     В какое значение установить DEBUG переменную Джанго (желтые страницы с ошибками 500).
    #     True - показывать желтые страницы (для копий программистов)
    #     False - не показывать (вместо этого показаь 500.html шаблон) - для боевой копии
    #
    # INSTANCE_SPECIFIC_DJANGO_DEBUG_STATIC
    #     Надо ли в Урл Паттернс Джанги добавить media и static и обслуживать их Джангой
    #     True - да, используется для копии сайта программистов
    #     False - нет, используется для демонстрационной и боевой копии
    #     (там nginx обрабатывает статику и STATIC_URL в этом случае будет такой чтобы указывать на nginx)
    
    # Все копии программистов. Что значает эта секция см. комменты чуть выше.
    if INSTANCE_ROOT.startswith('/var/www/elin_800'):
        INSTANCE_SPECIFIC_DJANGO_DEBUG = True
        INSTANCE_SPECIFIC_DJANGO_DEBUG_STATIC = True
    
    # Демонстрационная копия. Что значает эта секция см. комменты чуть выше.
    elif INSTANCE_ROOT == '/var/www/dev.example.ru':
        INSTANCE_SPECIFIC_DJANGO_DEBUG = False
        INSTANCE_SPECIFIC_DJANGO_DEBUG_STATIC = False

    Файл настроек джанги, доставшийся мне от аутсорсера

    defaultvoice, 19 Августа 2016

    Комментарии (5)
  5. Python / Говнокод #18552

    −74

    1. 1
    2. 2
    3. 3
    4. 4
    def foreigned(to_db='default', in_db="operator_main_dbs"):
        u""" декоратор для foreign tables """
        
        assert to_db == 'default' and in_db == "operator_main_dbs"

    Вариативность

    parabellum, 30 Июля 2015

    Комментарии (37)
  6. Python / Говнокод #18541

    −74

    1. 1
    2. 2
    # django
    user=User.objects.get(username=request.user.username)

    ruslux, 28 Июля 2015

    Комментарии (8)
  7. Python / Говнокод #18521

    −123

    1. 1
    #!/usr/blin/python

    Навеяно говнокодом № 55.

    inkanus-gray, 24 Июля 2015

    Комментарии (11)
  8. Python / Говнокод #18508

    −123

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    def checkio(opacity):
        febonachi = [0, 1]
        opacity = 10000 - opacity
        year = 0
        for i in range(0, 21):
            febonachi.append((febonachi[i]+febonachi[i+1]))
        for i in range(2, 5000):
            if opacity == 0:
                break
            else:
                year += 1
                if year in febonachi:
                    opacity -= year
                else:
                    opacity += 1
        
        return year
    ​

    Определяем сколько приведяшкам лет по прозрачности. :)

    aslanator, 22 Июля 2015

    Комментарии (6)
  9. Python / Говнокод #18477

    −146

    1. 1
    http://bugs.python.org/issue16203

    Меня всегда интересовало, зачем в питоне аж 3 функции поиска в регекспах re.search, re.match, который re.search("^"+regexp) и re.findall, который просто возващает список без всяких извратов (как в перле?). И вот я узнал, что этого гавна мало - в 3.4 добавили re.fullmatch, который re.search("^"+regexp+"$"). Нахуя так жить?

    3_14dar, 14 Июля 2015

    Комментарии (49)
  10. Python / Говнокод #18436

    −119

    1. 1
    2. 2
    def Hash(InputNumber,Salt,Pass)		
     return (58 - (529 + (-1975048375 + (InputNumber | -2092637991 | ((-713925853 & Pass & (Salt + (-401 ^ Pass) ^ (Pass + (-462 | ((-946 | (InputNumber - Salt & -1686942264) ^ 1238358322) - 1665246394))))) + Salt | Pass) + Salt)))) | InputNumber

    Хэширование числа

    zadrot, 04 Июля 2015

    Комментарии (52)