1. 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)
  2. Python / Говнокод #5149

    −172

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

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

    burdakovd, 05 Января 2011

    Комментарии (3)
  3. 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)
  4. Python / Говнокод #4918

    −172

    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
    from django.conf.urls.defaults import *
    from django.contrib.auth.views import logout_then_login
    from django.shortcuts import redirect
    
    from forms import LogoutForm
    
    
    urlpatterns = patterns('',
        (r'^logout/$', lambda r: (
            r.method == 'POST' and
            LogoutForm(r.POST).is_valid() and
            logout_then_login(r) or
            redirect('index')
        ), {}, 'logout'),
    )

    Про Django.

    Только не бейте сильно;) Ну, лень мне было для этого отдельный view делать...

    lig, 14 Декабря 2010

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

    −179

    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
    class Source:
    		id = ''
    		values = []
    		arrays =[ ( 'bool_array', bool), ( 'float_array', float), ('IDREF_array', str), ('int_array', int), ('Name_array', str), ('SIDREF_array', str), ('token_array', str)]
    		
    		def __init__(self, node):
    			self.id = node.getAttribute('id')
    			
    			accessors = dict([ (accessor.getAttribute('source')[1:], (int(accessor.getAttribute('count')), int(accessor.getAttribute('stride'))) ) for technique in node.getElementsByTagName("technique_common") for accessor in technique.getElementsByTagName("accessor") ])
    			values = [(arrayNode.getAttribute('id'), int(arrayNode.getAttribute('count')), [array[1](v) for v in getText(arrayNode).split()]) for array in Mesh.Source.arrays for arrayNode in node.getElementsByTagName(array[0])]
    			self.values = [ array[2][i*accessors[array[0]][1]:(i+1)*accessors[array[0]][1]] for array in values for i in range(accessors[array[0]][0])]
    			
    
            <source id="Box001-lib-Position">
              <float_array id="Box001-lib-Position-array" count="24">-23.296745 -46.390999 0.000000 23.296745 -46.390999 0.000000 -23.296745 46.390999 0.000000 23.296745 46.390999 0.000000 -23.296745 -46.390999 35.287621 23.296745 -46.390999 35.287621 -23.296745 46.390999 35.287621 23.296745 46.390999 35.287621</float_array>
              <technique_common>
                <accessor source="#Box001-lib-Position-array" count="8" stride="3">
                  <param name="X" type="float"/>
                  <param name="Y" type="float"/>
                  <param name="Z" type="float"/>
                </accessor>
              </technique_common>
            </source>
    
    в результате нужно получить список в виде
    [[-23.296745, -46.390999, 0.0], [23.296745, -46.390999, 0.0], [-23.296745, 46.390999, 0.0], [23.296745, 46.390999, 0.0], [-23.296745, -46.390999, 35.287621], [23.296745, -46.390999, 35.287621], [-23.296745, 46.390999, 35.287621], [23.296745, 46.390999, 35.287621]]

    Неделю назад начал учить питон, и для того чтоб это было совсем полезно, решил попробовать написать на нем парсер Collada файлов.
    Очень сильно проникся идеей инициализации массивов, из-за чего и родился сей говнокод...
    Код выдает правильный результат, но абсолютно не читаемый...

    pushkoff, 13 Декабря 2010

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

    −167

    1. 1
    2. 2
    3. 3
    4. 4
    if abs(self.__last_direction%360-direction.angle())==270:
                angle = 360*(self.__last_direction/360+1)+direction.angle()
            else:
                angle = 360*(self.__last_direction/360) + direction.angle()

    крутим крутим спрайт

    nbdarvin, 12 Декабря 2010

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

    −166

    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
    import cgi
    import MySQLdb
     
    MyDB=MySQLdb.connect(host='localhost', user='root', passwd='', db='serv')
    cursor=MyDB.cursor()
    cursor.execute("""SELECT * FROM IndexPage WHERE id=2""")
    zg1=cursor.fetchall()
    zp=cgi.FieldStorage()
    p=zp.has_key('pages')
    lixt='lrof'
    title='{TITLE}'
    Block1='{BLOCK_1}'
     
    if p==1:
        print 'Content-Type: text/html\n'
        sh=open(r'themplates/sh2')
        res=sh.read()
        ...

    Пхпшники пересаживаются на Питон

    qbasic, 24 Ноября 2010

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

    −181

    1. 1
    function hilight { python2 -c 'import sys, re; map(lambda s: sys.stdout.write(re.sub(r"'$1'", lambda m: "\033[1;31m%s\033[0m" % m.group(0), s)), sys.stdin)' }

    Это в Python или в bash?

    ___, 23 Ноября 2010

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

    −171

    1. 1
    ms = decode_mail_headers(decodeUnknown(message.get_charset(), message.get('Subject', 'Created from e-mail'))).replace("Re: ", "").replace("Fwd: ","").replace("Fw: ", "").rep    lace("RE: ", "").replace("FW: ", "").strip()

    Веселые программисты не знают регэкспов в питоне.

    DiSH, 11 Ноября 2010

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

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    def __init__(self, pth = None):
    		self._tag = None
    		self._valid = False
    		self._pthtofile = pth
    		if pth != None:
    			try:
    				self._tag = tagpy.FileRef(pth).tag()
    				self._valid = True
    			except ValueError:
    				pass

    Конструктор класса.
    Дальше приходится всё время дёргать объект проверяя его на валидность.
    Как переписать не так говнисто?

    KoirN, 07 Ноября 2010

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