- 1
d = dialog.Dialog(dialog = "dialog")
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−181
d = dialog.Dialog(dialog = "dialog")
Ехал Грека через реку
−91
def delta( listToDelta ):
result = []
lastItem = listToDelta[0]
for i, item in enumerate(listToDelta):
if i == 0:
result.append(item)
else:
result.append(item-lastItem)
lastItem = item
return result
l = [2, 4, 6, 9, 7]
print(l)
l = delta(l)
print(l)
Всеми любимый Дениска (автор некоторых прошлых ГК на питоне) пошёл на поправку и написал не такое вонючее говно.
Комментировать код до сих пор отказывается, но зато стал выбирать имена для переменных получше.
−85
m = 1
for i in range(100):
for j in range(100):
for k in range(100):
m *= i*j*k
#Почему m = 0?
Ещё один перл автора 7568 и 7545
−88
#-----------view:
def catalog(request):
subcatalog_list = SubCatalog.objects.all().order_by('index')
objects_list = Object.objects.all().order_by('subcatalog')
t = loader.get_template('catalog.html')
c = RequestContext(request, {
'subcatalog_list': subcatalog_list,
'objects_list': objects_list,
})
return HttpResponse(t.render(c))
#-----------template:
{% if subcatalog_list %}
{% for subcatalog in subcatalog_list %}
<div class="section_name clear">{{ subcatalog.name }}</div>
<div class="clear"></div>
{% if objects_list %}
{% for obj in objects_list %}
{% if obj.subcatalog.id == subcatalog.id %}
<div class="section">
<a class="clear" href="{{ obj.link }}/">{{ obj.name }}</a>
{% if obj.description %}
<div class="description">{{ obj.description|safe }}</div>
{% endif %}
{% if forloop.counter0|divisibleby:3 %}
{% endif %}
{% endif %}
{% endfor %}
{% else %}
<h2>No objects available.</h2>
{% endif %}
{% endfor %}
{% else %}
<h1>No subcatalogs available.</h1>
{% endif %}
#-------И еще печенька напоследок:
<a onclick="window.location = '/create/' + {{ subcatalog.id }} + '/'"></a>
Django
дико, дико.
−97
i = 0
t = 12
r = 0
g = 0
while r!=1:
i = i + 1
if t%i==0:
g = g + 1
if i==5000:
print t, ' - ',g
i, g = 0, 0
t = t + 1
if t==203:
r = 1
Нахождение дилителей.
Вот так-вот, человек видимо на любит юзать цикл for=)
−86
#Ханойские башни, для ручного решения.
start = [3,2,1]
a, b, c = [s for s in start], [], []
def printTower( n ):
s = ''
if n.lower() == 'a':
s = a
elif n.lower() == 'b':
s = b
elif n.lower() == 'c':
s = c
else:
raise
print(n.upper()+':',s)
def printTowers():
printTower('a')
printTower('b')
printTower('c')
def getLast( n ):
if n.lower() == 'a':
return 1000 if len(a)==0 else a[-1]
elif n.lower() == 'b':
return 1000 if len(b)==0 else b[-1]
elif n.lower() == 'c':
return 1000 if len(c)==0 else c[-1]
else:
raise
def getTower( n ):
if n.lower() == 'a':
return a
elif n.lower() == 'b':
return b
elif n.lower() == 'c':
return c
else:
raise
def moveTower():
fromP = input('С какой башни двигать?').lower()
toP = input('На какую башню двигать?').lower()
lastF = getLast(fromP)
lastT = getLast(toP)
if lastT>lastF:
getTower(toP).append(getTower(fromP).pop())
else:
raise
printTowers()
printTowers()
while b!=start:
moveTower()
Принял слабого снотворного и сел читать Корнилова (Программирование шахмат и других логических игр) (думал быстро усну, книга очень скучная).
Когда пришёл в себя увидел на экране ЭТО.
P.S. Оно работает.
−85
(1 if not i%2 else 2)
−92
def clean_node(node, debug=False):
"""
Этот пример скопипащен из книги
"Как не должен выглядеть код"
"""
if node['sub']:
sub = []
num = 1
for item in node['sub']:
i = clean_node(item, debug)
if i:
sub.append(i)
num += i['num']
node['sub'] = sub
node['num'] = num
else:
node['num'] = 1
if node['deleted']:
if node['sub']:
return node
else:
return node
return None
Мне достался в наследство большой проект, в котором порой встречается вот такое. Единственное, что радует это подобные комментарии )
−88
exec "a" * 300000000 + " = 'FUCKING_LONG_VARIABLE'" # Создание переменной с длиннннным именем
exec "print " + ("a" * 300000000) # Выведет 'FUCKING_LONG_VARIABLE'
Это был эксперимент (не повторять дома!). Хотелось узнать количество значащих символов в имени переменной, оказалось что все:).
Первая строка кода ужирает около 270 МБ памяти.
−83
def get(a='',x=-1):
b,c,d,e,f=a.split('\n'),[],[],0,0
for i in range(len(b)):
if i==0: c+=[i]; e+=len(b[i])+1; f+=len(b[i]); d+=[f]
elif i==len(b)-1: f+=len(b[i]); d+=[f]; c+=[e]
else: f+=len(b[i])+1; c+=[e]; d+=[f]; e+=len(b[i])+1
for i in range(len(c)):
if range(c[i], d[i]+1).count(x): return i
Это код чувака, который хочет получить индекс строки по индексу символа.
>>> get('a\nb', 0) # 0 - позиция символа "а"
0
>>> get('a\nb', 1) # 1 - позиция символа "\n"
0
>>> get('a\nb', 2) # 2 - позиция символа "b" (уже вторая строка)
1
Простой эквивалент кода:
GetNewlineCount = lambda s, p: s.count('\n', 0, p)