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

    0

    1. 1
    PYTHONPATH=$(pwd) LANG=C.UTF-8 pipenv run ./scripts/script

    Как работает виртуализация в Питоне.

    wvxvw, 14 Ноября 2017

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

    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
    def _code_length(code=''):
        CODE_MIN_LENGTH = 6
        CODE_MAX_LENGTH = 8
        if code in range(self.HS_CODE_MIN_LENGTH, self.HS_CODE_MAX_LENGTH + 1):
            return code
        _cut = lambda hsl: hsl[:self.HS_CODE_MIN_LENGTH]
        _pad = lambda hsl: hsl.extend(repeat(0, self.HS_CODE_MIN_LENGTH + 1 - len(hsl)))
        hsl = harmonized_code.split()
        if len(hsl) < CODE_MIN_LENGTH:
            return ''.join(_pad(hsl))
        if len(hsl) > CODE_MAX_LENGTH:
            return ''.join(_cut(hsl))

    skynv, 13 Ноября 2017

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

    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
    from tkinter import *
     
    class Space():
        def __init__(self):
            object=Tk()
                    object=Canvas(root, bg="green")
            object.pack()
            object.mainloop()
    class Line():
        def __init__(self, space):
            space.create_line(x, y, x1,y1)
     
    root=Space()
    canv=Line(root)

    Отсюда http://python.su/forum/topic/34021/

    Самое удивительное, что автор шедевра некто Jeka_KOzolup1 - учитель информатики, причем у него довольно высокое мнение о своих преподавательских способностях.

    FishHook, 07 Ноября 2017

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

    +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
    if cur == 'EUR':
            alldata['total'] = alldata['total'] * Decimal(58)
            alldata['cost'] = alldata['cost'] * Decimal(58)
        elif cur == 'USD':
            alldata['total'] = alldata['total'] * Decimal(62)
            alldata['cost'] = alldata['cost'] * Decimal(62)
        elif cur == 'GBP':
            alldata['total'] = alldata['total'] * Decimal(71)
            alldata['cost'] = alldata['cost'] * Decimal(71)
        elif cur == 'UAH':
            alldata['total'] = alldata['total'] * Decimal(2)
            alldata['cost'] = alldata['cost'] * Decimal(2)

    Простой конвертер валют своими руками!
    💩-💩 и в продакшен!!!

    farmspam, 02 Ноября 2017

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

    +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
    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
    import os
    import argparse
    import sys
    parser = argparse.ArgumentParser(description='tree')
    parser.add_argument('path',type=str,)
    parser.add_argument('-fo','--folders_only',action='store_true',)
    parser.add_argument('-i','--include',type=str,action='store',)
    parser.add_argument('-e','--exclude',type=str,action='store',)
    parser.add_argument('-a','--all',action='store_true',)
    parser.add_argument('-f','--full_name',action='store_true',)
    args = parser.parse_args()
    print(sys.argv[1])
    if args.include:
        itext = args.include
    if args.exclude:
        etext = args.exclude
    def divine_crutch(path, n):
        dir = os.listdir(path)
        for i in range(len(dir)):
            if os.path.isfile(path + '\\' + dir[i]):
                if not(args.folders_only):
                    if not(args.include and itext not in dir[i]):
                        if not(args.exclude and etext in dir[i]):
                            if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                                print(n*' ', dir[i])
                            elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                                print(n*' ' ,path + '\\' + dir[i])
            if os.path.isdir(path + '\\' + dir[i]):
                if not(not(args.all) and dir[i][0] == '.') and not(args.full_name):
                    print(n*' ', dir[i])
                elif args.full_name and not(not(args.all) and dir[i][0] == '.'):
                    print(n*' ' ,path + '\\' + dir[i])
                n += 4
                divine_crutch(path + '\\' + dir[i], n)
                n -= 4
    divine_crutch(sys.argv[1], 4)

    Рекурсивный велосипед на костыльной тяге. Сей экземпляр является "аналогом системной утилиты tree под линукс". При подходящей фазе луны и выполнении условий ритуала чёрной магии, способен захавать 16 гигов оперативки и крашнуть систему. Прекрасный способ выстрелить в ногу на питоне. Достойное место в моей кунсткамере.

    Caladrius, 26 Октября 2017

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

    +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
    while (1):
        for iterator in range(len(posts)):
            # Для прозрачности вычислений
            time_post_a = datetime.now()
            time_post_a = int(time.mktime(time_post_a.timetuple()))
    
            time_post_b = posts[iterator]['time']
            time_post_b = int(time.mktime(time_post_b.timetuple()))
    
            # Выполнить действие, в случае, если "время пришло" по массиву posts
            if ((time_post_a - time_post_b) == 0):
                print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
                time.sleep(1) # Если его убрать, то начинаются дикие пляски
                break

    Планировщик постов

    meridium, 26 Октября 2017

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

    +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
    from lxml import html
    import urllib
    import time
    import os
    
    last = ""
    img_path = "/tmp/avatar.png"
    
    while True:
    	try:
    		tree = html.parse(urllib.urlopen("http://govnokod.ru/comments"))
    
    		date = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/a')[0].get('name')
    		if date != last:
    			last = date
    
    			image = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/img')[0].get('src')
    			name = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/p/strong/a')[0].text_content()
    			comment = tree.xpath('/html/body/div/div[2]/ol/li[1]/div[1]/ul/li/div/div')[0].text_content()
    			avatar = urllib.urlretrieve(image, img_path)
    			os.system('notify-send -i {} \'{}\' \'{}\''.format(img_path, name, comment.encode('utf-8')))
    
    		time.sleep(10)
    		
    	except Exception:
    		time.sleep(10)

    vistefan, 19 Октября 2017

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

    −7

    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
    import re
    
    def matrix():
        square = [[0 for x in range(7)] for x in range(7)]
        directions = ((1,0), (0,1), (-1,0), (0,-1))
        x, y, d = -1, 0, 0
        
        for i in range(49):
            while True:
                x1, y1 = x + directions[d][0], y + directions[d][1]
                
                if x1 >= 0 and x1 < 7 and y1 >= 0 and y1 < 7 and square[y1][x1] == 0:
                    x, y = x1, y1
                    break
                
                d = (d + 1) % 4
            
            square[y][x] = re.sub(r'\d', lambda n: ' ' * int(n.group()), '9de9mb8nv5yo4aol1rm')[i]
        
        return square
    
    print('\n'.join([''.join(line) for line in matrix()]).strip())

    по мативам http://govnokod.ru/23329#comment389918

    HACTEHbKA, 06 Сентября 2017

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

    −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
    n = int(input())
    matrix = [[0] * n for i in range(n)]
    num = 1
    end = n
    start = 0
    while num != num**2:
        for i in range(start, end):
            if num == num**2:
                break
            for j in range(start, end):
                if num == num**2:
                    break
                matrix[i][j] = num
                num += 1
                if j + 1 == end:
                    for k in range(start+1, end):
                        if num == num**2:
                            break
                        matrix[k][j] = num
                        num += 1
                        if k + 1 == end:
                            for l in range(-end+1, -start):
                                if num == num**2:
                                    break
                                matrix[k][l] = num
                                num += 1
                                if l + 1 == start:
                                    for m in range(-end+1, -start-1):
                                        if num == num**2:
                                            break
                                        matrix[m][l] = num
                                        num += 1
            end -= 1
            start += 1
    for i in range(n):
        for j in range(n):
            print(matrix[i][j], end='\t')
        print()

    у меня на выходе только нули, не понимаю где нагадил,вот условие:

    Выведите таблицу размером n×n, заполненную числами от 1 до n**2 по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке, как показано в примере (здесь n=5):
    Sample Input:
    5
    Sample Output:
    1 2 3 4 5
    16 17 18 19 6
    15 24 25 20 7
    14 23 22 21 8
    13 12 11 10 9

    reznik, 05 Сентября 2017

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

    −9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class SimilarCardIsShown(ZenAndroidTest):
        def test_similar_show(self):
            cards = self.swipe_and_find_elements(By.ID, "com.yandex.zensample.app:id/card_title", 7)
            for card in cards:
                card.click()
                self.driver.back()
            assert self.driver.find_element_by_id("com.yandex.zensample.app:id/card_helper_sim_head"), "Нет похожих"

    хуй

    storvus, 05 Сентября 2017

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