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

    −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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    class RomeNumberConvertor(object):
        def __init__(self):
            self.discharge = ['unit', 'dozen', 'hundred', 'thousand']
            self.unit_set = ('I', 'V', 'X')
            self.dozen_set = ('X', 'L', 'C')
            self.hundred_set = ('C', 'D', 'M')
            self.thousand_set = ('M')
            
        def _discharge2rome(self, discharge, value):
            pattern = {'1': '{0}', '2': '{0}{0}', '3': '{0}{0}{0}',
                            '4': '{0}{1}', '5': '{1}', '6': '{1}{0}',
                            '7': '{1}{0}{0}', '8': '{1}{0}{0}{0}', '9': '{0}{2}'}
            return pattern[value].format(*getattr(self, '%s_set' % discharge))
            
        def lat2rome(self, num):
            rome_digit = ''
            for i, k in enumerate(reversed(str(num))):
                if k == '0': continue
                rome_digit = '%s%s' % (self._discharge2rome(self.discharge[i], k), rome_digit) 
            return rome_digit

    Вот так человек решил преобразовывать в римские цифры :D

    mbrutus, 04 Декабря 2016

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

    −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
    conn=imaplib.IMAP(...)
    
    conn.search
    
    Signature: conn.search(charset, *criteria)
    Docstring:
    Search mailbox for matching messages.
    
    (typ, [data]) = <instance>.search(charset, criterion, ...)
    
    'data' is space separated list of matching message numbers.
    File:      python27\lib\imaplib.py
    Type:      instancemethod

    То есть, возвращается список с одной строкой с числами, разделенными пробелом.
    Список! С одной строкой! Список!

    Откуда это говно взялось и когда оно было написано, блеать?

    3_14dar, 26 Ноября 2016

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

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    https://habrahabr.ru/post/314062/
    
    О том, как устроено часть внутренностей языка.
    
    Страшненькая и печальная статья.

    Zuzik, 07 Ноября 2016

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

    +3

    1. 1
    2. 2
    ipdb> Decimal('10000') < "1"
    True

    kosolapovdg, 22 Сентября 2016

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

    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
    class Driver(DriverProto):
    
        def connect(self, **kwargs):
            try:
                # поскипано для краткости
            except:
                raise
    
        def exec(self, sql, **kwargs):
            try:
                # поскипано для краткости
            except:
                raise
    
        def fetch(self, as_dict=False):
            try:
                # поскипано для краткости
            except:
                raise
        
        # Еще двадцать восемь методов по той же схеме: try - except - raise

    Исходник самопального драйвера для БД в старом проекте заказчика.

    UncleRus, 19 Сентября 2016

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def love():
        x = len("love")
        for i in range(19):
            x = (128 * x + 314) % 127
            yield x
    
    na = 'Fr/ku~>_d49XjL:1dHr"P\r3\x0b^N!ajrdKPpU4boG<of:iX#pvf  twvz;eiDB!z[_Mma~axx\tyr)4yF|\x0cr0_2=P:Yz *c"4_]eO6I1OieTAnBLPlksz.$NnjkcW2Ce)m{R'
    print ''.join(na[piton] for piton in love())

    FrauSchweinhund, 18 Сентября 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    import unittest
    
    class TestStringMethods(unittest.TestCase):
    
      def test_upper(self):
          self.assertEqual('foo'.upper(), 'FOO')
    
    if __name__ == '__main__':
        unittest.main()

    storvus, 17 Сентября 2016

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

    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
    # my_first_calculator.py by AceLewis
    # TODO: Make it work for all floating point numbers too
    
    if 3/2 == 1:  # Because Python 2 does not know maths
        input = raw_input  # Python 2 compatibility
    
    print('Welcome to this calculator!')
    print('It can add, subtract, multiply and divide whole numbers from 0 to 50')
    num1 = int(input('Please choose your first number: '))
    sign = input('What do you want to do? +, -, /, or *: ')
    num2 = int(input('Please choose your second number: '))
    
    if num1 == 0 and sign == '+' and num2 == 0:
        print("0+0 = 0")
    if num1 == 0 and sign == '+' and num2 == 1:
        print("0+1 = 1")
    if num1 == 0 and sign == '+' and num2 == 2:
        print("0+2 = 2")
    if num1 == 0 and sign == '+' and num2 == 3:
        print("0+3 = 3")
    if num1 == 0 and sign == '+' and num2 == 4:
        print("0+4 = 4")
    if num1 == 0 and sign == '+' and num2 == 5:
        print("0+5 = 5")
    if num1 == 0 and sign == '+' and num2 == 6:
        print("0+6 = 6")
    ...

    https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py оптимизация!

    j123123, 11 Сентября 2016

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

    −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
    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
    elif token == '\\голова':
            if STATE == '<html>':
                statement.append(STATE)
                STATE = '<head>'
                outpStr += STATE+'\n'
            else:
                STATE = 'ERROR'
            
        elif token == '\\тело':
            statement.append(STATE)
            STATE = '<body'
            outpStr += STATE
                
        elif token == '\\пар':
            statement.append(STATE)
            STATE = '<p'
            outpStr += STATE
                
        elif token == '\\ж':
            statement.append(STATE)
            STATE = '<b'
            outpStr += STATE
            
        elif token == '\\к':
            statement.append(STATE)
            STATE = '<i'
            outpStr += STATE
            
        elif token == '\\пдч':
            statement.append(STATE)
            STATE = '<u'
            outpStr += STATE
            
        elif token == '\\зч':
            statement.append(STATE)
            STATE = '<s'
            outpStr += STATE
            
        elif token == '\\ссылка':
            statement.append(STATE)
            STATE = '<a'
            outpStr += STATE
            
        elif token == '\\под':
            statement.append(STATE)
            STATE = '<sub'
            outpStr += STATE
            
        elif token == '\\над':
            statement.append(STATE)
            STATE = '<sup'
            outpStr += STATE
            
        elif token == '\\зг1':
            statement.append(STATE)
            STATE = '<h1'
            outpStr += STATE
            
        elif token == '\\зг2':
            statement.append(STATE)
            STATE = '<h2'
            outpStr += STATE
            
        elif token == '\\зг3':
            statement.append(STATE)
            STATE = '<h3'
            outpStr += STATE
            
        elif token == '\\зг4':
            statement.append(STATE)
            STATE = '<h4'
            outpStr += STATE
            
        elif token == '\\зг5':
            statement.append(STATE)
            STATE = '<h5'
            outpStr += STATE

    https://github.com/san-smith/USSRHTML/blob/master/USSRHTML.py
    Чувак придумал убийцу html

    kschingiz, 09 Сентября 2016

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

    −2

    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
    import random
    
    a = input("Количество файлов: ")
    a = int(a)
    
    for i in range(a)
     filename = random.randint(0, 10000)
     filename = str(filename)
     filetext = random.randint(1000000, 1000000000)
     filetext = str(filetext)
    
     file = open(filename + ".txt", "w")
     file.write(filetext)
     file.close()
     print("В файл " + filename + ".txt записано " + filetext)
    
    input("Готово! Нажмите любую клавишу...")

    Код создает файлы с числовым названием в диапазоне от 0 до 10000 и числовым содержимым от 1млн. до 1млрд.

    n0s1e, 30 Августа 2016

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