- 1
- 2
exec "a" * 300000000 + " = 'FUCKING_LONG_VARIABLE'" # Создание переменной с длиннннным именем
exec "print " + ("a" * 300000000) # Выведет 'FUCKING_LONG_VARIABLE'
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−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)
−89
#weather.pyw
from urllib import request
from tkinter import *
import tkinter
import threading
from threading import *
import time
i = 0
active = True
def timerTick( toSleep ):
global active
while active:
refreshCall(0)
time.sleep(toSleep)
def refreshCall(event):
t = Thread(target = refresh)
t.start()
def refresh(*event):
global i
ref['text'] = str(i)
i+=1
r = request
page = str(r.urlopen('http://realmeteo.ru/moscow/1/current/').read())
temperature = page.split('</tr><tr id="num_data"><td>')[1].split(' ')[0]
pressure = page.split(' </td><td>')[1].split(' ')[0]
wind = page.split('<tr id="num_data"><td></td><td>')[1].split(' ')[0]
dest = page.split('<param name="movie" value="/.swf/wind_dir/')[1].split('.swf')[0]
destination = ''
for c in dest:
if c is dest[-1]:
destination += {'N':'Север','S':'Юг','W':'Запад','E':'Восток'}[c]
else:
destination += {'N':'Северо-','S':'Юго-','W':'Западо-','E':'Востоко-'}[c]
#print( temperature, pressure, wind, destination )
l1['text'] = 'Температура: '+temperature
l2['text'] = 'Давление : '+pressure
l3['text'] = 'Сила ветра : '+wind
l4['text'] = 'Направление: '+destination
r = request
page = str(r.urlopen('http://realmeteo.ru/moscow/1/current/').read())
temperature = page.split('</tr><tr id="num_data"><td>')[1].split(' ')[0]
pressure = page.split(' </td><td>')[1].split(' ')[0]
wind = page.split('<tr id="num_data"><td></td><td>')[1].split(' ')[0]
dest = page.split('<param name="movie" value="/.swf/wind_dir/')[1].split('.swf')[0]
destination = ''
for c in dest:
if c is dest[-1]:
destination += {'N':'Север','S':'Юг','W':'Запад','E':'Восток'}[c]
else:
destination += {'N':'Северо-','S':'Юго-','W':'Западо-','E':'Востоко-'}[c]
form = tkinter.Tk()
l1 = Label(form,text='Температура: '+temperature,justify='left'); l1.pack()
l2 = Label(form,text='Давление : '+pressure,justify='left'); l2.pack()
l3 = Label(form,text='Сила ветра : '+wind,justify='left'); l3.pack()
l4 = Label(form,text='Направление: '+destination,justify='left'); l4.pack()
ref = Button(form, text = 'Обновить'); ref.pack()
ref.bind('<Button-1>',refreshCall)
timerThread = Thread(target = timerTick, args=(5,))
timerThread.start()
form.mainloop()
active = False
Угадайте, с какого языка пересел автор. (не пэхапэ)
−99
# разбираюсь с питоном, может растолкуете почему так
>>> z = [lambda: i for i in [1,2,3]]
# почему вот такой результат?
>>> z[0](), z[1](), z[2]()
(3, 3, 3)
# каждый элемент списка - отдельная функция
>>> z[0] == z[1], z[0] is z[1]
(False, False)
# вот таким образом выходит правильно.
>>> z = [lambda: 1, lambda: 2, lambda:3]
>>> z[0](), z[1](), z[2]()
(1, 2, 3)
Автор - я. Меня действительно интересует, почему так происходит.
−175
if request.path == '/':
thread_list = ThreadBlock.objects.all()
else:
thread_nomer = re.search( r'/\d*/', request.path ).group()[1:-1]
thread_list = ThreadBlock.objects.filter(id=int(thread_nomer))
Бидон, джанга, уеб.
−88
# -*- coding: utf-8 -*-
from Tkinter import *
import time
import random
import os
def init(): #Инициалиазия, переменная root, задаём размеры окна
global root, widthmin, widthmax, heightmin, heightmax, geometry
widthmin = 400
widthmax = 400
heightmin = 400
heightmax = 400
geometry = str(widthmax) + 'x' + str(heightmax)
root = Tk()
root.geometry(geometry)
root.minsize(width=widthmin,height=heightmin)
root.maxsize(width=widthmax,height=heightmax)
menu()
root.mainloop()
def menu(): #Меню игры. С любовью, кэп
global btSingle, btMulti, btSetting, btQuit
btSingle = Button(root, text="Singleplayer", command=singleplayer)
btSingle.pack(padx=15,pady=15)
btMulti = Button(root, text="Multiplayer", command=multiplayer)
btMulti.pack(padx=15,pady=15)
btSettings = Button(root, text="Settings", command=settings)
btSettings.pack(padx=15,pady=15)
btQuit = Button(root, text="Quit", command=quit)
btQuit.pack(padx=15,pady=15)
def singleplayer(): #Функции синглплеера
global root #Удалить после заполнения функции более полезной хренью
def multiplayer(): #Функции мультплеера
global root #Удалить после заполнения функции более полезной хренью
def settings(): #Настройки
global root #Удалить после заполнения функции более полезной хренью
def quit(): #Выход из игры
root.destroy ()
init()
−90
def delay():
return random.randrange(0,20)+20
−92
intToStr = { x:'%s'%x for x in range(-1000, 1000) }
intToStr[-543] # <- '-543'
ЭТО ПИТОН!!!
−86
def MonthsListGen(*args, **kwargs):
from datetime import datetime
if kwargs.has_key('month') and kwargs.has_key('year'):
return "%s-%s"%(kwargs['year'], "0%d"%kwargs['month'] if kwargs['month']<10 else str(kwargs['month']))
if kwargs.has_key('date'): return MonthsListGen(year = kwargs['date'].year, month = kwargs['date'].month)
if kwargs.has_key('decodeName'): return MONTH_NAMES[int(kwargs['decodeName'].split('-')[1])]
if kwargs.has_key('decodeYear'): return int(kwargs['decodeYear'].split('-')[0])
if kwargs.has_key('startDate') and kwargs.has_key('endDate'):
startDate = kwargs['startDate']
endDate = kwargs['endDate']
monthList = []
if startDate.year < endDate.year:
startDate1 = startDate
endDate1 = datetime.strptime('%d.%d.%d'%(DAYS_IN_MONTH[12], 12, startDate1.year) , '%d.%m.%Y')
monthList = MonthsListGen(startDate = startDate1, endDate = endDate1)
startDate2 = datetime.strptime('%d.%d.%d'%(1, 1, startDate1.year+1) , '%d.%m.%Y')
endDate2 = endDate
monthList += MonthsListGen(startDate = startDate2, endDate = endDate2)
return monthList
if startDate.year == endDate.year:
monthRange = range(startDate.month, endDate.month+1)
year = startDate.year
for monthNo in monthRange:
monthList.append(MonthsListGen(year = year, month = monthNo))
return monthList
return False
Вместо того, чтобы писать несколько разных функций, решил сделать одну, которая почти во всех случаях вызывает сама себя с разными параметрами.
−184
s="ftmbG!>!fvsU";k=''
for i in s:k+=map(lambda x:chr(ord(x)-1),s)[s.index(i)]
exec(k[::-1])
"Счастливой отладки, суки!" (с)