- 1
- 2
- 3
s = 'blablabla'
if s[:7] <> 'http://':
s = 'http://%s' % s
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−100
s = 'blablabla'
if s[:7] <> 'http://':
s = 'http://%s' % s
−181
def get_children(self, **kwargs):
q = super(Classifier, self).get_children()
try:
for i in kwargs['related']:
q = q.filter(classifiers = super(Classifier, self).get_by(i, key='translit'))
except:
pass
return q
такое в django проекте
−94
# -*- coding: utf-8 -*-
# На входе: не пустой b-массив
# На выходе: словарь из 1-ого элемента {самый часто встречающийся элемент:количество}
# 1. Сначала составляем словарь, потом ищем максимум и возвращаем
def Freq1(b):
assert len(b) > 0
d = {}
for x in b: # Пробегаем в цикле исходный массив
d[x] = d[x] + 1 if d.has_key(x) else 1 # Если ключ уже есть, прибавляем 1, если нет, записываем 1
v = max(d, key=d.get) # v ключ из словаря соответствующий максимальному значению
return {v:d[v]} # Возвращаем ответ
# 2. Ищем максимум прямо при составлении словаря
def Freq2(b):
d = {}
m, i = 0, 0 # Максимальная частота и индекс в словаре
for x in b: # Пробегаем в цикле исходный массив
d[x] = d[x] + 1 if d.has_key(x) else 1 # Если ключ уже есть, прибавляем 1, если нет, записываем 1
if d[x] > m:
m, i = d[x], x # Запоминаем максимум и его индекс
return {i:m}
# 3. Без использования словаря (сложность квадратичная - "тупой метод")
def Freq3(b):
m, i = 0, 0 # Максимальная частота и соответствующее ему значение
for x in b:
c = b.count(x) # Сколько раз встречается x в массиве b?
if c > m:
m, i = c, x
return {i:m}
# Проверка (примитивный unit-тест)
def Check(inData, expected):
assert Freq1(inData) == expected
assert Freq2(inData) == expected
assert Freq3(inData) == expected
Check(["banana", "banana", "apple", "banana", "banana", "apple", "onion"], {'banana': 4})
Check([2, 3, 9, 3, 6, 6], {3: 2})
Check([True, True, True, False, False, True], {True: 4})
Самый часто встречающийся элемент в массиве (3 способа).
Везде сплошной говнокод. Как ПРАВИЛЬНО найти самый часто встречающийся элемент в массиве?
Наверное, можно ещё отсортировать массив и пробежать по нему храня текущий элемент и количество и обновляя соответствующие переменные?
−79
def coord_to_name(zoom,x,y,type):
hex_x = list(hex(x)[2:])
hex_y = list(hex(y)[2:])
(hex_x, hex_y) = align_lists(hex_x,hex_y)
xy_pairs = zip(hex_x,hex_y)
xy_pairs_glued = [''.join(p) for p in xy_pairs]
path_xy = os.path.join(*xy_pairs_glued)
#print hex_x,hex_y,xy_pairs,xy_pairs_glued,path_xy
path = os.path.join(str(zoom),path_xy) + str(type)
return path
#return reduce(os.path.join,[str(zoom)]+map(''.join,zip(list(hex(x)[2:]),list(hex(y)[2:]))))+str(type)
Из моей программы, просмотрщик кэшей мобильных Яндекс-карт.
Говно закомментировано в назидание будущим археологам, в нём баг, попробуйте найти. (Подсказака - функция align_lists() выравнивает длины списков, дополняя короткий нулями с начала).
И никогда не пишите таких матерных однострочников !
−305
if random.randint(1, 9999) is 42:
−83
#Access Point: MTS Internet GPRS
import gprsd
#импортируем класс GPRS-демона
import socket
import thread
import math
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
gs = gprsd.getConn()
#сокет с телефоном
ga = gprsd.getConnAddr()
#конечный адрес
s.connect(ga);
def thread_1():
global gs, s;
while 1:
for i in range(0, 10005000):tmp=math.sin(math.acos(random.randint(-100500, 100500)));
#выполняем сложное и неоправданное арифметическое дейстивие 100500 раз в цикле
tmp = s.recv(8);
gs.send(tmp);
if tmp<8:
break;
def thread_2():
global gs, s;
while 1:
for i in range(0, 10005000):tmp=math.sin(math.acos(random.randint(-100500, 100500)));
#выполняем сложное и неоправданное арифметическое дейстивие 100500 раз в цикле
tmp = gs.recv(8);
s.send(tmp);
if tmp<8:
break;
thread.start_new_thread(thread_1, ());
thread.start_new_thread(thread_2, ());
Скрипт МТС'ного инета
−171
sys.path = ['/home/username/webapps/django', '/home/username/webapps/django/lib/python2.5'] + sys.path
индусы в моих джангах. pascal style
−101
#TROLOLO GENERATOR!
def trololo(x):
print 'tro'+('lo'*x)
trololo(100)
Если нужно потроллить!
−80
class SimpleStruct:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
# Далее класс в переменную или в массив:
a = []
a.apppend(SimpleStruct("dd", "er"))
b = SimpleStruct("DFGH", "dj")
# И тест:
print a[0].arg1, a[0].arg2, b.arg1, b.arg2
#dd er DFGH dj
Однажды одному чудаку понадобилась структура в питоне и он намутил это.
Хотя если бы он хоть немного подумал о том, что такое класс, писать ему бы ваще нихрена не пришлось!
−168
if request.user.is_superuser:
content["stuff"] = stuff_list
content["content_stuff"] = content_stuff_list
content["domain_url"] = settings.DOMAIN_URL or "http://boo.com"
if request.user.is_superuser:
content["active_hotels"] = Hotel.objects.filter(is_active=True)
долго понимал, так и не понял