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

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def ispalindrome(string):
    	decide=1
    	i=0
    	while i<=int(len(string)/2) and decide==1:
    		if string[i]!=string[-(i+1)]:
    			decide=0
    		i+=1
    	return decide

    Функция определяет, является ли число паниндромом =)

    SSPkrolik, 21 Февраля 2011

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

    −91

    1. 1
    2. 2
    3. 3
    import gzip, StringIO
    eval (compile (gzip.GzipFile (fileobj = StringIO.StringIO ('\x1f\x8b\x08\x00\xfe\xb9\x0cM\x02\xff\xa5\x93\xdfj\xdb0\x14\xc6\xaf\xeb\xa78\xb9\x8a\xdd\x19\xe1\xac4\x17\x83^\xa4\xa3\x83A\xe8\xc6RV\xc6(\xc2\x7fTWD\x95\x82,/aw\xd9Mo\n\x83\xbd\xc1\xde\xa0\x94\x85m\x8c\xb6\xaf \xbf\xd1\x8e\x1c%\xe9E\xd6\x9b\xd9\xc6\xb2\xbe#\xfd\xce\xd1\'\xb9`\xe7\xa0$\xbd\xe0E\xc1$\xcdjc\xb0\x97\x0b\x9e\x8fY\x01\xe1n\xaa\xcb*z\x11\xecL\xb9\x84\x03(\xcd\x98\x9crY\xa8)\x84Q\xb0\x93y\xe9\xb0\x9d\x05a\xd7~\xb7?\xec\xc2\xfe\xb17\xcd\x97\xe6\x1a\xecm3\xb7\x0b\xb0\x0f\xf6\x97\xfd\x89\x11T\xed=!\xa4\xeb\xe6\x92\xea\xc2c\x84\xc7\x0c\xd3\x8c\x89\xa5B\xb0\x1e\xe6?+f\xa8a3\xe3\xf8\xdf\xb6\x00;\x9d\xce\x12\x98+)Y\xee\xc6\xf9\xfa\xbb1P\xaa\x04\xde1\x84"\x86,\xc2q\x9f25\xf3\t\xdf\x1f\xe2g\xf8\xdc\x8bd\x92\xe6cZ\x99T#"\xdb&\x8a\x95\xb8.\x1dm!i\x81F9\xd9\xf7]\xbd\x13Uq\xc3\x9d\'\xade\xaf\x8f\xe9\xdb7#\xfa\xf2\xe8\xf8\xe4\xe8\x1d\x1d\x0cO\x07\x1fF\xab\xd1+\xd4Dsi\xc0Y\xb8\xb0\xbf\x9b+\\\xdb\x1c\xec\x1d6W\xf8^\xa0\x9f\xf3\xe6\xab\xf3.\x08\n\xdc2\xbf.\x08\xa71\xd4\x15\xd3\xb4HM\xea6j\xdd\x81\x8f\xc9\xd9\x86\xfeH\xee\x9dm\xdc-\x05\xcf\x88\xe1\x97L\xd5\x86\xb6\x0b\xe9%\x89s\r\xe1\x8f\xc0\x8e\x85\xa3}f\x8c9/0Yj\x8c\xae\xd0\xccI*KE\x06\xd8\x1b\xf2\xca\xb4\xe4s\xa5\x81\x03\x9e\x9a\x99\xc6 f\x13\x0c\xdd\x10\xa4\\\xeff\x149\xc4\x92A\xb8\xc4\\(nH\xaf\x94f\xa5V\xb5\xc4\xa2\x9c3!r\nuI\x96\rN\x87]\xe8\xef\xef\xef\xf5\xa3\x18\xfe;\x8e\x0f<\x83\x9e;\x1f\xff\xaag\xc4?\xb3\'*I\xf0B\x12\x9a\xb7m\xa1\xeb\x83\xec\xe8\x1c\xff2VA\xd8f\xdaDd)\x9eH\xb0\xd7O\x1cE3Sk\t\'\xbaf\xc1_\xf0\xb6d\xa4\xbb\x03\x00\x00')).read (), '', 'exec'))
    del gzip, StringIO

    "Хитрая" пасхалка из моего курсача :)

    byss, 02 Февраля 2011

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

    −90

    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
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    #! /usr/bin/python2.4
    # -*- coding: utf-8 -*-
    '''
    from Tkinter import *
    import subprocess
    import Queue
    import threading
    
    class ifStatThreadClass(threading.Thread):
        """класс потока с ifstat"""
        def __init__(self,breakCount):
            global listBox
            selectedIface=listBox.curselection()
            if not selectedIface: selectedIface=0
            self.ifaceName=listBox.get(selectedIface);
            self.breakCount=breakCount
            threading.Thread.__init__(self)
            
        def run(self):
            global queue
            global stop_event       
        # рабочий тред, запускает ifstat на вывод 20 строк    
            global listBox
            cmd="ifstat -i %s 1 %s"% (self.ifaceName, self.breakCount,)
            print "Запускаю: %s"%cmd
            PIPE = subprocess.PIPE
            p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE,
                    stderr=subprocess.STDOUT, close_fds=True)
            #пока нет стоп-события ловим строки из стдоута
            if (stop_event.is_set()): print "stop event detected!"
            while not stop_event.is_set():
                s = p.stdout.readline()
                if not s: break
                if self.breakCount==0: break
                self.breakCount-=1
                #кладем очередную строку в очередь
                queue.put(s)
                print s,
            
    def startIfStat():
        """ стартуем рабочий тред"""
        global stop_event
        global ifStatThread
        ifStatThread = ifStatThreadClass(10)
        try:
            stop_event.clear() 
            ifStatThread.start() 
        except: 
            print "Не могу запустить поток! Может, он уже запущен?"
            stop_event.set()
        
        #вот тут стартуем
           
                
    def stopWorker():
        """создаем стоп-событие"""
        print("Тпырррр!")
        global stop_event
        global ifStatThread
        # установим событие останова
        stop_event.set()
        
    def ifStatResultUpdater():
        """обновлялка текстового поля из очереди query"""
        global queue
        global stop_event
        global ifStatResult
        global ifStatThread
        global emptyQueueCounter
    #    print("updater")
    #    ifStatResult.configure(text=time.strftime('%H:%M:%S'))
        #только если не было стоп-события 
    
        if not stop_event.is_set():
            if ifStatThread.isAlive(): print "Поток еще жив!"
            else: print "Потока в живых не обнаружено"
            s='' 
            try:
                #берем из очереди строку и выводим на лейбл
                print 'Что у нас в очереди? ',
                s = queue.get_nowait()
                print "а в очереди вот:",s
                ifStatResult.configure(text=s)
            except Queue.Empty:
                print('ничего в очереди нету(')
                if (emptyQueueCounter>2):
                    print('аааа.. похоже, все умерли... щас заново запущу!') 
                    startIfStat()
                    emptyQueueCounter=0                
                emptyQueueCounter+=1
                
            #если стоп-события не было, запускаем эту же функцию через секунду
        root.after(1000,ifStatResultUpdater)
    
    queue = Queue.Queue() #создаем очередь
    emptyQueueCounter=0

    Мой первый (мало-мальски серьезный) опыт на питоне. Выводит список из 3х интерфейсов, по нажатию Старт запускает тред с ифстатом, выводит в окошко результаты. Кривинько-косо, но работает)
    Если есть замечания как криво написано и предложения как лучше, жду комментарии.
    P.S. до этого писал на пхÐ%BF, D1‚ак что не пинайте сильно)

    hakimovis, 23 Января 2011

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

    −174

    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
    self.columns = []
                    for self.i in range(len(self.splits_table_name)):
                        if len(self.splits_table_name[self.i]) != 0:
                            self.columns.extend([{ 'type' : 'string' ,'name': self.splits_table_name[self.i],'editable': True}])
    
    
    self.data = {}
    self.field = []
    self.column = []
    
    for self.i in range(len(self.list_data)):
        for self.j in range(len(self.list_data[self.i])):
            self.field.extend([{'field_name' : self.splits_table_name[self.j] , 'field_value' : self.list_data[self.i][self.j]}])
            self.column.append()
    
    self.data['data'] = self.column

    это мой говно кода .

    dura, 14 Января 2011

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

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    incoming=[2,0,4,6,2,1,0,4,3,0]
    outgoing=[5,0,3,3,0,2,3,5,0,2]
    
    for i in sorted(range(allopers.__len__()), reverse=True):
          if int(incoming[i])==int(outgoing[i])==0:
               del incoming[i]
               del outgoing[i]
               del allopers[i]

    длинна списков allopers, incoming и outgoing равна.
    наговнокожено: пытаюсь исключить из них элементы с номером n, для которых incoming[n]==outgoing[n]==0.
    типа иду с конца, и если совпало - удаляю элемент.

    fr_butch, 14 Января 2011

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

    −81

    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
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import psycopg2
    from loki.libs.net.ipaddr import IPAddress
    import sys
    sys.path.append('../libs/')
    
    try:
        loki_db = psycopg2.connect (port="15432", host="noc2.t72.ru", database="loki_db", user="utkin", password="2UtaWEvaspuv")
        loki_cur = loki_db.cursor()
    except:
        print "Нет коннекта к локи_дб"
    
    try:
        cherry_db = psycopg2.connect (port="5432", host="noc2.72.ru", database="cherry", user="utkin", password="2UtaWEvaspuv")
        cherry_cur = cherry_db.cursor()
    except:
        print "Нет коннекта к черри_дб"
    
    loki_cur.execute("""
    select id, nas_id, service, ip_addr_id from inet_inetsessionactive;
    """);
    
    rows = loki_cur.fetchall()
    
    for (id, nas_id, service, ip_addr_id) in rows:
        loki_cur.execute("""select ip from inet_nasserver where id = %s;""",(nas_id,))
        try:
            nas_ip = loki_cur.fetchone()[0]
        except:
            print "Нет записи о NAS-сервере"
        loki_cur.execute("""select addr from inet_ouripall where id = %s;""",(ip_addr_id,))
    
        ip = str(IPAddress(int(loki_cur.fetchone()[0]))._ip)
    
        cherry_cur.execute("""select client_id, water_mark from inet_dynamic_ip_services where id = %s;""", (service,))
        try:
            (client_id, water_mark) = cherry_cur.fetchone()
        except:
            print "Нет записи в таблице inet_dynamic_ip_services: id, nas_id, service = (%s, %s, %s)"%(id, nas_id, service)
            
        cherry_cur.execute("""select balance from base_clients where client_id = %s;""",(client_id,));
        try:
            balance = cherry_cur.fetchone()[0]
            if balance <= water_mark:
                kill(ip, nas_ip)
        except:
            print "Нет записи в base_clients: client_id = %s"%client_id

    tanenn, 13 Января 2011

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

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    import string
    k=input()
    a=range(1000)
    if k==1:
            a[0]=input()
    else:
            t = string.replace(str(raw_input()), ' ', ', ')
            a=eval('('+t+')')

    4
    2 3 4 5
    ----
    Не знаю я питон :(
    По другому не смог быстро написать..

    Tanger, 13 Января 2011

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

    −173

    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
    fout = open("number23.out", "w")
    fin = open("number23.in", "r")
    N = int(fin.read())
    secret = 6
    key = 9
    system = 10
    Magic23 = 23
    magic1 = magic2 = 0
    if(N < Magic23//2):
        N = Magic23//2
    for j in range(0, Magic23//2 + (Magic23 - 1)*((N - Magic23//2)//(Magic23-1)) - 1, 2):
        magic1 *= system
        magic1 += key - secret
        magic1 *= system
        magic1 += secret
        magic2 *= system
        magic2 += key - (system - secret)
        magic2 *= system
        magic2 += system - secret
    magic1 *= system
    magic1 += system - secret
    magic2 *= system
    magic2 += secret
    if(N % 2):
        power = str(magic1 ** 2)
        fout.write(power[len(power)//2:])
    else:
        power = str(magic2 ** 2)
        fout.write(power[len(power)//2:])
    fout.close()
    fin.close()

    нужно было найти число длины от N до N + 23, такое, чтобы удвоенная его запись была полным квадратом натурального числа) Оценивайте) Приятного говноосмотра)

    Novi4oK, 06 Января 2011

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

    −172

    1. 1
    time.strftime('%Y/%m/%d', time.localtime(time.time()+86400))

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

    burdakovd, 05 Января 2011

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

    −91

    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
    import sys
    from ru.hastel.gameserver.model.quest import State
    from ru.hastel.gameserver.model.quest import QuestState
    from ru.hastel.gameserver.model.quest.jython import QuestJython as JQuest
    
    qn = "2008_christmas"
    
    class Quest (JQuest) :
    
     def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
    
     def onEvent (self,event,st) :
        htmltext = event
    
        if event == "1":
            if st.getQuestItemsCount(5556) >= 4 and st.getQuestItemsCount(5557) >= 4 and st.getQuestItemsCount(5558) >= 10 and st.getQuestItemsCount(5559) >= 1:
                st.takeItems(5556,4)
                st.takeItems(5557,4)
                st.takeItems(5558,10)
                st.takeItems(5559,1)
                st.giveItems(5560,1)
                htmltext = "<html><body>Merry Christmas.</body></html>"
            else:
                 htmltext = "31863-2.htm"
        elif event == "2":
            if st.getQuestItemsCount(5560) >= 10 :
                st.takeItems(5560,10)
                st.giveItems(5561,1)
                htmltext = "<html><body>Merry Christmas.</body></html>"
            else:
                 htmltext = "31863-3.htm"
        if htmltext != event:
          st.setState(COMPLETED)
          st.exitQuest(1)
    
        return htmltext
    
    
     def onTalk (self,npc,player):
        st = player.getQuestState(qn)
        if not st : return 
        npcId = npc.getNpcId()
        if npcId == 31863 :
           htmltext = "31863-1.htm"
           st.setState(STARTED)
        return htmltext
    
    
    
    QUEST       = Quest(2008,qn,"custom")
    CREATED     = State('Start', QUEST)
    STARTED     = State('Started', QUEST)
    COMPLETED   = State('Completed', QUEST)
    
    QUEST.setInitialState(CREATED)
    
    QUEST.addStartNpc(31863)
    QUEST.addTalkId(31863)

    Вот простенький эвент на Питоне , как улучшить подскажите

    Akira, 19 Декабря 2010

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