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

    −94

    1. 1
    for smth in filter(None, [something]): do(smth)

    лопата

    wiz, 31 Мая 2011

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

    −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
    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
    a=0
    b=0
    c=0
    d=0
    ...
    z=0
     
    A=0
    B=0
    C=0
    D=0
    ...
    Z=0
    ile=int(input())
    while ile>0:
        pom=0
        ile-=1
        slowo=input()
        dlugosc=len(slowo)
        while dlugosc>0:
            dlugosc-=1
           
            if slowo[pom]=='a':
                a=a+1;
            if slowo[pom]=='b':
                b=b+1
            if slowo[pom]=='c':
                c=c+1
            if slowo[pom]=='d':
                d=d+1
            ...
            if slowo[pom]=='z':
                 z=z+1
           
            if slowo[pom]=='A':
                A=A+1
            if slowo[pom]=='B':
                B=B+1
            if slowo[pom]=='C':
                C=C+1
            if slowo[pom]=='D':
                D=D+1
            ...
            if slowo[pom]=='Z':
                Z=Z+1
                   
            pom+=1
       
    if(a>0):
        print('a', a)
    if(b>0):
        print('b', b)
    if(c>0):
        print('c', c)
    if(d>0):
        print('d', d)
    ...
    if(z>0):
        print('z', z)
     
    if(A>0):
        print('A', A)
    if(B>0):
        print('B', B)
    if(C>0):
        print('C', C)
    if(D>0):
        print('D', D)
    ...
    if(Z>0):
        print('Z', Z)

    Чел походу не знает о существовании массивов и циклов.
    ... заменено, уж больно код длинный.
    Типичный пример китайского кода.
    Оригинал - http://ideone.com/kkZ51,8lrxt

    З.Ы. Да, в питоне не массивы, а списки, но так понятнее

    pabloid, 23 Мая 2011

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

    −84

    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
    a=[1,4,6,3,4,5,6,6,7,7,9,9,4,3,4,7,7,7,4,3,5,7,3,6,3,]
    print a
     
    def removeDoubles(a):
      nonD=range(len(a))
      for i in range(len(a)):
        for j in range(i+1,len(a)):
          if a[i]==a[j]:
            nonD.remove(i)
            break
      b=[]
      for i in nonD:
        b.append(a[i])
      return b
     
    def removeDoubles2(a):
      #b=sorted(a)
      def quickSort(a):
        def qSort(i,j):
          global a
          if j==i:
            return
          elif j-i==1:
            if a[i]>a[j]:
              c=a[j]
              a[j]=a[i]
              a[i]=c
              return
          else:
            l=(j+i)/2
            qSort(i,l)
            qSort(l+1,j)
            join(i,l,j)
            return
        def join(i,l,j):
            global a
            k=i
            n=l+1
            m=0
            s=j
            t=l
            b=range(j-i+1)
            while 1:
              if a[k]<a[n]:
                z=k
                k=n
                n=z
                z=s
                s=t
                t=z
              b[m]=a[n]
              m+=1
              n+=1
              if n>s:
                for g in range(t-k+1):
                    b[m+g]=a[k+g]
                break
            for g in range(j-i+1):
              a[i+g]=b[g]
        qSort(0,len(a)-1)
      c=a
      quickSort(c)
      b=[]
      b.append(c[0])
      for i in range(1,len(c)):
        if c[i]>c[i-1]:
          b.append(c[i])
      return b
     
    print removeDoubles(a)
    print removeDoubles2(a)

    Удаление дублей из массива. Взято отсюда:
    http://www.0chan.ru/c/res/181489.html

    Govnocoder#0xFF, 21 Мая 2011

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

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # -*- coding: cp1251 -*- 
    beer = u"бутылок пива стоят на столе. Одна упала."
    botle = 100
    for i in range(1, 100):
        print (botle-i), beer
    print u"Нету больше пива на столе :-("

    Пива не будет :-(

    Govnocoder#0xFF, 19 Мая 2011

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

    −180

    1. 1
    2. 2
    3. 3
    auto = False
    if self.options.has_key('auto') and self.options['auto']:
        auto = True

    frol, 13 Мая 2011

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

    −180

    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
    #обработка формы
    if request.method == 'POST':
        form = MdatForm(request.POST)
        #проверка правильности заполнения полей формы
        if form.is_valid():
                cd = form.cleaned_data
                #переменные для проверки правильности ввода данных
                valid1 = cd['sername']+cd['name']+cd['ssername']
                valid2 = cd['get']+cd['born']+cd['adres']
                #проверка ФИО
                for i in valid1:
                    if (re.match(u"^[A-Za-z0-9]+$", i))or(i in errorfio):
                        return redirect_with_message(request, 'error', 'Корректно введите ФИО', reverse(changemet))
                #проверка адрес, дата роэждения, кем выдано
                for i in valid2:
                    if (re.match(u"^[A-Za-z]+$", i))or(i in errorvmb):
                        return redirect_with_message(request, 'error', 'Корректно введите "Место рождения", "Адрес", "Кем выдан"', reverse(changemet))
                #сохранить изменения
                changemetadd(cd, request.user)
                #запись действия в журнал
                userlogpath(request.user, 'Осуществлено редактирование метаданных')
                #вывод сообщения
                return redirect_with_message(request, 'success', 'Данные были сохранены в системе регистрации изображений', reverse('home.views.index'))
    
    
    #форма первичной регистрации
    class PhForms(forms.Form):
            email = forms.EmailField(label='Email*', error_messages={'required': 'Заполните поле'})
            sername = forms.CharField(max_length=50, label='Фамилия*', error_messages={'required': 'Заполните поле'})
            name = forms.CharField(max_length=50, label='Имя*', error_messages={'required': 'Заполните поле'})
            ssername = forms.CharField(max_length=40, label='Отчество', required=False)
            databorn = forms.DateField(label='Дата рождения:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата рождения:*',initial=datetime.date.today, input_formats=('%d-%m-%Y',),
    		#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
            pasportserial = forms.IntegerField(max_value=9999, label='Паспорт серия', required=False)
            pasportnomer = forms.IntegerField(max_value=999999, label='Паспорт номер', required=False)
            get = forms.CharField(max_length=100, label='Кем выдан*', required=False)
            dataget = forms.DateField(label='Дата выдачи:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата выдачи*:', initial=datetime.date.today, input_formats=('%d-%m-%Y',),
    		#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
            born = forms.CharField(max_length=200, label='Место рождения*', required=False)
            adres = forms.CharField(max_length=200, label='Адрес*', required=False)
    	#text = forms.CharField(label='Семейное положение', max_length=200)
    
    
    #изображения и мииатюры
    class Image(models.Model):
        user = models.ForeignKey('User')
        publication_date = models.DateTimeField(auto_now_add=True)
        nomersertifikata = models.IntegerField()
        imgname = models.CharField(max_length=200)
        tip_foto = models.ForeignKey('img_subj.ImageSubjects')
        public = models.BooleanField()
        img = models.ImageField(upload_to=get_upload_to)
        mini_img = models.ImageField(upload_to=mini_get_upload_to)
        #создание миниатюры
        def save(self):
            THUMBNAIL_SIZE = (100, 100)
            image = PIL.Image.open(self.img)
            if image.mode not in ('L', 'RGB'):
                image = image.convert('RGB')
            image.thumbnail(THUMBNAIL_SIZE, PIL.Image.ANTIALIAS)
    
            temp_handle = StringIO()
            image.save(temp_handle, 'png')
            temp_handle.seek(0)
    
            suf = SimpleUploadedFile(os.path.split(self.img.name)[-1],
            temp_handle.read(), content_type='image/png')
            self.mini_img.save(suf.name+'.png', suf, save=False)
    
            super(Image, self).save()

    Вот так кодят в универах.

    alex-86, 10 Мая 2011

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

    −176

    1. 1
    2. 2
    3. 3
    4. 4
    def reverse(s, rs=''):
        for i in range(1, len(s)):
            rs = rs + s[len(s)-i]
        return rs+s[0]

    Reverse String по-питоновски с говном

    Govnocoder#0xFF, 10 Мая 2011

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

    −181

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    charref = re.compile(r'(CREATE PROCEDURE)',re.IGNORECASE)
    Str=re.sub(charref,'r(CREATE PROCEDURE', Str)
    PosStr=Str.find('CREATE PROCEDURE')
    l=len(Str)
    Proc = Str[PosStr:l]

    Вечером написал, утром посмеялся)
    Str=re.search(r'(?s)(CREATE PROCEDURE).+',Str)

    wds, 06 Мая 2011

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

    −97

    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
    #include <stdio.h>
    #include <signal.h>
    #include <unistd.h>
    #include <sys/wait.h>
    void sighndlr_1(int signo) { //obrabot4ik dlya 1go processa
        printf("I'm child process #1. I've got SIGINT! :) So, I won't do anything...\n"); //prosto vyvod na ekran soobscheniya o polu4enii signala
    }
    
    void sighndlr_2(int signo) { //dlhya 2go
        printf("I'm child process #2. I've got SIGINT :)\n");
    }
    
    int main(int argc, char **argv) {
        pid_t pid1,pid2,pid3,pid4; //4 do4ernih processa
        static struct sigaction act1,act2,act3; //3 struktury dlya 3h processov
        act1.sa_handler = sighndlr_1; //ustanovka obrabot4ika dlya 1 struktory
        act2.sa_handler = sighndlr_2; //dlya 2i
        act3.sa_handler = SIG_IGN; //ignoriruem signal v 3 strukture
        switch(pid1 = fork()) { //sozdaem 1 do4erniy process
        case -1: //vihodim pri oshibke sozdaniya
    	printf("Error fork\n");
    	exit(1);
    	break;
        case 0:
    	printf("Child process #1 started (pid = %d)\n", getpid()); //soobshenie ob uspeshnom sozdanii i vyvod pid
    	sigaction(SIGINT,&act1,NULL); //ustanovka struktury obrabot4ika dlya SIGINT
    	for(;;) pause(); //beskone4nyi cikl
    	break;
        default:
        switch(pid2 = fork()) { //sozdaem 2 process
        case -1:
    	printf("Error fork\n");
    	exit(1);
    	break;
        case 0:
    	printf("Child process #2 started (pid = %d)\n", getpid());
    	sigaction(SIGINT,&act2,NULL); //dlya SIGINT
    	sigaction(SIGQUIT,&act3,NULL); //ignorim SIGQUIT
    	for(;;) pause();
    	break;
        default:
        switch(pid3 = fork()) { //3 process
        case -1:
    	printf("Error fork\n");
    	exit(1);
    	break;
        case 0:
    	printf("Child process #3 started (pid = %d)\n", getpid());
    	sigaction(SIGINT,&act3,NULL); //ignorim SIGINT
    	for(;;) pause();
    	break;
        default:
        switch(pid4 = fork()) { //4 process
        case -1:
    	printf("Error fork\n");
    	exit(1);
    	break;
        case 0:
    	printf("Child process #4 started (pid = %d)\n", getpid());
    	setsid(); //menyaem identifikator seansa dlya processa
    	printf("Process #4 changed sid\n");
    	for(;;) pause();
    	break;
        default:
        printf("Finishing parent process... (pid = %d)\n", getpid());
        exit(0); //zavershaetsya roditelsky process
        break;
        }        
        break;
        }
        break;
        }
        break;
        }
    }

    Лаба по курсу операционных систем. Нужно было создать 4 дочерних процесса, и для каждого процесса создать свои обработчики для сигнала SIGINT или SIGQUIT. Полученный говнокод полон повторяющихся конструкций, и слишком сильно запутан операторами switch-case.

    Boten, 30 Апреля 2011

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

    −87

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    index_photo = ThumbnailField(
        verbose_name=_('Photo in catalog'),
        upload_to='uploads/girls/index/',
        size=(172, 253),
        help_text=_('This photo is shown in a list of girls. Size 172x252.'))

    Кажется кто-то кого-то пытается обмануть

    Zapix, 28 Апреля 2011

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