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

    −95

    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
    # ~*~ coding: utf8 ~*~
    
    def clear_string(str, to_int = None):
        '''
        Чистим строку от "мусора" - нечисловых символов.
        '''
        new_str = ''
        for s in str:
            # сначала ищем точку (вдруг число с плавающей точкой)
            # при этом в новой строке не должно быть больше одной точки
            # и в условии to_int не определен
            if s == '.' and '.' not in new_str and not to_int:
                new_str += s
            else:
                try:
                    i = int(s)
                    new_str += s
                except:
                    pass
        return new_str
    
    def str_to_int(str):
        '''
        Преобразование стоки в целое число
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return int(str)
        except:
            # если не получилось, то проверяем почему? допускаем, что было передано не целое число в строке
            if '.' in str:
                str = str[0:str.find('.')]
                return str_to_int(str)
            else:
                # если уж совсем дела плохи, то возвращаем 0
                return 0
    
    def check_int(str):
        try:
            int(str)
            return True
        except:
            return False
    
    def str_to_float(str):
        '''
        Преобразование стоки в число с плавающей точкой
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return float(str)
        except:
            # других вариантов не осталось. скорее всего функция приняла на входе мусор
            return 0
    
    def check_float(str):
        try:
            float(str)
            return True
        except:
            return False
    
    # есть у нас незатейливая строка
    str = 'a23d.d.5ff6'
    # проверяем функцию чистки строки
    print('Чищеная строка: %s' % clear_string(str))
    print('Чищеная строка с to_int: %s' % clear_string(str, to_int=True))
    # до преобразования строки в число следовало бы почистить ее
    print('Преобразуем мусор в целое число: %s' % str_to_int(str))
    print('Преобразуем чищеную строку в целое число: %s' % str_to_int(clear_string(str)))
    # преобразуем строку в число с плавающей точкой
    print('Преобразуем мусор в число с плавающей точкой: %s' % str_to_float(str))
    print('Преобразуем чищеную строку в число с плавающей точкой: %s' % str_to_float(clear_string(str)))
    
    print('Проверяем, является ли содержимое строки целочисленным: %s' % check_int(str))
    print('Проверяем, является ли содержимое чищеной строки целочисленным: %s' % check_int(clear_string(str, to_int=True)))
    print('Проверяем, является ли содержимое строки числом с плавающей точкой: %s' % check_float(str))
    print('Проверяем, является ли содержимое чищеной строки числом с плавающей точкой: %s' % check_float(clear_string(str)))

    http://www.haikson.com/blogs/hektor/programming/python/python-preobrazovanie-stroki-v-chislo/

    v0ffka, 03 Марта 2014

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

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    >>> max
    <built-in function max>
    >>> max.__call__
    <method-wrapper '__call__' of builtin_function_or_method object at 0x01D72080>
    >>> max.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2730>
    >>> max.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D29B0>
    >>> max.__call__.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2970>
    >>> max.__call__.__call__.__call__.__call__(1,2,3)
    3

    We need to go deeper.

    Vindicar, 21 Февраля 2014

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

    −99

    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
    for i in range(0,len(m)):
        if i==0:
            f=False
            s += x[m[i]]
        else:
            if i==len(m)-1:
                if not f:
                    f=False
                    s += ',' + x[m[i]]
                else:
                    f=False
                    s += x[m[i]]
                break
            else:
                if m[i]-m[i-1]==1:
                    if m[i+1]-m[i]==1:
                        if not f:
                            f=True
                            s += '-'
                            continue
                        else:
                            continue
                    else:
                        if not f:
                            f=False
                            s += ',' + x[m[i]]
                        else:
                            f=False
                            s += x[m[i]]
                else:
                    f=False
                    s += ','+x[m[i]]

    Была задача: на вход(m) подается массив чисел, например [1,3,5,6,7], а на выходе получаем человекочитаемую строку(s) "пн,ср,пт-вс"
    Вышло такое из меня пару месяцев назад, теперь я никогда не смогу в нем разобраться х_х

    MAaxim91, 05 Февраля 2014

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

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    def f(l = []):
            l.append(len(l))
            return l
    f()
    f()
    print f()

    Есть мнения что выведет?
    http://ideone.com/Q6Oc2I

    laMer007, 31 Января 2014

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

    −104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $ python
    Python 3.3.3 (default, Nov 26 2013, 13:33:18) 
    [GCC 4.8.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 81.5 / (17 * 13) * 50
    18.438914027149323
    >>> exit()

    Кто-нибудь ещё так делает?))

    evg_ever, 31 Января 2014

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

    −94

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    import time                                                                      
                                                                                     
    def inttime():                                                                   
        return int(''.join(str(time.time()).split('.')))      
                                                                                     
    def rand():                                                                      
        while True:                                                                  
            s = bin(inttime())[2:]                                                   
            for x in s:                                                              
                yield x

    Этим "рандомом" заполняется клеточный автомат "Жизнь". Нечего было делать.

    x0m9k, 08 Января 2014

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

    −98

    1. 1
    settings =  [int(value, 16) for value in ('09', '0b', '0d', '0f')]

    lig, 11 Декабря 2013

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

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    rows = db.query_all("select id, command from всякие-заджойненные-таблички")
    foreach row in rows:
        if row[1] == command:
            return row[0]
    return None

    Высрал сегодня на работе. Пока пых не трогал - такого говна не писал ;)

    bormand, 28 Октября 2013

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

    −101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def Find(dir):
            def walk(a,b,files):
                t1=0
                for i in files:
                    t1+=1
                    if i[-4:]==".sis" or i[-4:]==".Sis" or i[-4:]==".SIs" or i[-4:]==".SIS" or i[-4:]==".SiS" or i[-4:]==".sIS" or i[-4:]==".siS" or i[-5:]==".sisx" or i[-5:]==".Sisx" or i[-5:]==".SIsx" or i[-5:]==".SISx" or i[-5:]==".SISX" or i[-5:]==".sISX" or i[-5:]==".siSX" or i[-5:]==".sisX" or i[-5:]==".SisX" or i[-5:]==".SIsX" or i[-5:]==".SiSX" :
                        list1.append(cn(i))
                        list2.append(cn("%s\%s"%(b,i)))

    Когда еще была жива симба, под нее был интерпретатор питона. Этот отрывок - творение некоего китайского товарища под PyS60.

    Pythoner, 09 Октября 2013

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

    −100

    1. 1
    2/3

    ПИТОНОПРОБЛЕМЫ ;)

    P.S. Да, я читал доки. Не меня в них тыкать носом.

    bormand, 07 Октября 2013

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