- 1
- 2
- 3
- 4
def spam(low, up):
for eggs in range(low, up+1):
if str(eggs) in str(eggs**2):
print(str(eggs) + " is in " + str(eggs**2) + ".")
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
def spam(low, up):
for eggs in range(low, up+1):
if str(eggs) in str(eggs**2):
print(str(eggs) + " is in " + str(eggs**2) + ".")
Проверяет, есть ли стринг числа n в стринге числа n**2.
0
Ну и полный пример:
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "process.h" // специально для потока
void fThredFunct1(void* pv); // декларация функции потока
__declspec(thread) DWORD dwTlsIndex; // локальная статическая функция для потока
void main()
{
ULONG hThread1 = 0; // Идентификатор потока 1
ULONG hThread2 = 0; // Идентификатор потока 2
//unsigned long _beginthread( void( __cdecl *start_address )( void * ),
// unsigned stack_size, void *arglist );
hThread1 = _beginthread(fThredFunct1,0,NULL); // создали первый поток
if (hThread1==-1)
cout << "Error create thread" << endl;
hThread2 = _beginthread(fThredFunct1,0,NULL); // создали второй поток
if (hThread1==-2)
cout << "Error create thread" << endl;
Sleep(2000); // ждем
}
void fThredFunct1(void* pv) // реализация функции потока
{
dwTlsIndex=TlsAlloc(); // Запросить индекс
if (dwTlsIndex==-1) // проверить на ошибку
{
cout << "Error TlsAlloc " << endl;
return;
}
cout << dwTlsIndex << endl;
Sleep(1000);
if ( TlsFree( dwTlsIndex)==0 ) // освободить индекс
{
cout << "Error TlsFree" << endl;
return;
}
}
Многопоточное говно
Гуглояндексится.
+3
#include <set>
#include <algorithm>
bool overlap(const std::set<int>& s1, const std::set<int>& s2)
{
for( const auto& i : s1) {
if(std::binary_search(s2.begin(), s2.end(), i))
return true;
}
return false;
}
я зделял
https://stackoverflow.com/a/29421606/1683138
-- https://en.cppreference.com/w/cpp/container/set−2
public void pullToDirection(ForgeDirection dir) {
if (!canPullToDirection(dir))
return;
if (parentChunk.world.world.get().getBlockId(pipePosition.x + dir.offsetX, pipePosition.y + dir.offsetY,
pipePosition.z + dir.offsetZ) == AquaPipes.pipe.blockID) {
TransferPipeItem item = items.iterator().next();
if (item.isEmpty()) {
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
return;
}
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
parentChunk.world.pushToPipe(pipePosition.x + dir.offsetX, pipePosition.y + dir.offsetY,
pipePosition.z + dir.offsetZ, item.getStack());
return;
} else {
TileEntity te = parentChunk.world.world.get().getBlockTileEntity(pipePosition.x + dir.offsetX,
pipePosition.y + dir.offsetY, pipePosition.z + dir.offsetZ);
if (te != null) {
if (te instanceof ISidedInventory) {
TransferPipeItem item = items.iterator().next();
if (item.isEmpty()) {
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
return;
}
ISidedInventory inv = (ISidedInventory) te;
int[] slots = inv.getAccessibleSlotsFromSide(ForgeDirection.OPPOSITES[dir.ordinal()]);
for (int slot : slots) {
if (inv.canInsertItem(slot, item.getStack(), ForgeDirection.OPPOSITES[dir.ordinal()])
&& inv.isStackValidForSlot(slot, item.getStack())
&& (inv.getStackInSlot(slot) == null
|| (inv.getStackInSlot(slot).itemID == item.getStack().itemID
&& inv.getStackInSlot(slot).getItemDamage() == inv
.getStackInSlot(slot)
.getItemDamage()
&& inv.getStackInSlot(slot).stackSize < inv.getInventoryStackLimit()
&& inv.getStackInSlot(slot).stackSize < inv
.getStackInSlot(slot)
.getMaxStackSize()
&& ItemStack.areItemStackTagsEqual(inv.getStackInSlot(slot),
item.getStack())))) {
item.getStack().stackSize--;
inv.getStackInSlot(slot).stackSize++;
inv.onInventoryChanged();
if (item.isEmpty()) {
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
}
}
}
} else if (te instanceof IInventory) {
TransferPipeItem item = items.iterator().next();
if (item.isEmpty()) {
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
return;
}
IInventory inv = (IInventory) te;
for(int slot = 0; slot < inv.getSizeInventory(); slot++) {
if (inv.isStackValidForSlot(slot, item.getStack())
&& (inv.getStackInSlot(slot) == null
|| (inv.getStackInSlot(slot).itemID == item.getStack().itemID
&& inv.getStackInSlot(slot).getItemDamage() == inv
.getStackInSlot(slot)
.getItemDamage()
&& inv.getStackInSlot(slot).stackSize < inv.getInventoryStackLimit()
&& inv.getStackInSlot(slot).stackSize < inv
.getStackInSlot(slot)
.getMaxStackSize()
&& ItemStack.areItemStackTagsEqual(inv.getStackInSlot(slot),
item.getStack())))) {
item.getStack().stackSize--;
inv.getStackInSlot(slot).stackSize++;
inv.onInventoryChanged();
if (item.isEmpty()) {
items.remove(item);
if (items.isEmpty()) {
parentChunk.pendingPipeStatesToRemove.add(this);
parentChunk.updateDataForAllObservers(this);
}
}
}
на закрывающие скобки не хватило места. код из моего еще не дописанного мода на майнкрафт.
−3
Зачем нужен "z == int(str(z)[::-1])", если есть "int(str(z)[:len(str(z))//2]) == int(str(z)[int((len(str(z))+1)//2):][::-1])"?
−2
return coroutine.create(function(x)
while true do
socket.sleep(1);
collectgarbage()
coroutine.yield()
end
end)
Выделил сборщик мусора в отдельный поток, и чтоб он вечно собирал за мной всякую срань, но раз в секунду.
Ожидание: Поток спит в течении 1 секунды.
Реальность: Вся программа спит в течении 1 секунды.
−4
stack = []
def stdout(x):
if x == "puts":
print(stack.pop())
else:
raise Exception("иди нахуй")
def stdin(x):
global stack
if x == "gets":
stack.append(input())
else:
raise Exception("иди нахуй")
math = {
"add": lambda: stack.append(float(stack.pop()) + float(stack.pop())),
"sub": lambda: stack.append((-float(stack.pop())) + float(stack.pop())),
"mul": lambda: stack.append(float(stack.pop()) * float(stack.pop())),
"div": lambda: stack.append(1 / float(stack.pop()) * float(stack.pop())),
}
def stack_commands(x):
global stack
if x == "swap":
stack[-1], stack[-2] = stack[-2:]
elif x == "drop":
stack.pop()
elif x == "dup":
stack.append(stack[-1])
else:
raise Exception("иди нахуй")
string = {
"concat": lambda: stack.append(str(stack.pop()) + str(stack.pop()))
}
commands = {
"comment": lambda x: x,
"push": lambda x: stack.append(x),
"stdout": stdout,
"stdin": stdin,
"math": lambda x: print(math[x]()),
"stack": stack_commands,
"string": lambda x: string[x]()
}
def do(x):
if '@' not in x:
raise Exception(x + " is not email.")
a, b = x.split('@')
b = b.split('.')[0]
commands[b](a)
def eval(s):
for i in s.lower().split():
do(i)
eval("""
[email protected]
[email protected] [email protected]
[email protected]
[email protected] [email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected] [email protected] [email protected]
""")
−4
https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-wsaasyncselect
int WSAAsyncSelect(
SOCKET s,
HWND hWnd,
u_int wMsg,
long lEvent
);
/*
hWnd
A handle that identifies the window that will receive a message when a network event occurs.
*/
Почему виндовые асинхронные (или правильно говорить "небликирующиеся") сокеты так черезжопно сделаны? Нафига им через HWND надо месседжи слать? Что, другого способа нет для оповещений?
Требовать для работы асинхронных сокетов чтоб какое-то окно было это как требовать зубную щетку для входа в туалет чтоб посрать
−1
#!/l_l5l2/8IN/l>Y7l-lON3
IMl>Ol27 5Y5
41l>l-l4 = {
'4': '4',
'8': '8',
'(': '(',
')': ')',
'3': '3',
'#': '#',
'9': '9',
'l-l': '1-1',
'1': '1',
'_l': '_1',
'l<': '1<',
'l>': '1>',
'&': '&',
'l2': '12',
'5': '5',
'7': '7',
'l_l': '1_1',
'\/': '\/',
'\/\/': '\/\/',
'><': '><',
'Y': 'Y',
'2': '2'
}
I# 13N(5Y5.4l29\/) > 1:
# = Ol>3N(5Y5.4l29\/[1])
3153:
# = 5Y5.57)IN
8l_l##3l2 = []
#Ol2 ( IN #.l234)().l_ll>l>3l2():
8l_l##3l2.4l>l>3N)(41l>l-l4[(] I# ( IN 41l>l-l4 3153 ()
l>l2IN7(''._lOIN(8l_l##3l2))
+1
class TaxStorage {
public:
using TaxCode = Code<3>; // Code<int N, typename Storage = uint32_t> тип для маленьких строк
using TaxType = Code<3>;
using TaxId = std::tuple<TaxCode, TaxType>;
using TaxMap = std::map<TaxId, int>
using CityId = int;
using TaxPointMap = std::unordered_map<CityId, TaxMap>;
TaxMap forCityOrOther(const TaxPointMap& map, const CityId cityId) const {
const auto found = map.find(cityId);
return found == map.cend() ? map.at(OTHER_CITY) : *found; // должно быть found->second
}
}
Dev: Ok GCC, tell me what is wrong.
GCC: /home/whatever/project/TaxStorage.h:102: error: incompatible operand types ('const std::unordered_map<int, std::map<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> >, std::less<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> > >, std::allocator<std::pair<const std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> > > > >, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<const int, std::map<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> >, std::less<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> > >, std::allocator<std::pair<const std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> > > > > > > >::mapped_type' (aka 'const std::map<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> >, std::less<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> > >, std::allocator<std::pair<const std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> > > > >') and 'const std::pair<const int, std::map<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> >, std::less<std::tuple<Code<3, unsigned int>, Code<3, unsigned int> > >, std::allocator<std::pair<const std::tuple<Code<3, unsigned int>, Code<3, unsigned int> >, std::vector<unsigned long, std::allocator<unsigned long> > > > > >')
ДОКОЛЕ?!!