Каким образом подавать входные данные в нейросеть?
Но почему я не могу написать метод from_string так:cls вместо явного Date позволит наследнику Date (напр. AztecaDate - дата по календарю ацтеков) порождать именно AztecaDate.
Date(1, 1, 2019) # конструктор с сигнатурой (int, int, int)
Date("1.1.2019") # другой конструктор с сигнатурой (str)
В питоне можно добиться подобного, но ручками, анализируя состав аргументов Date.__init__, что неудобно, громоздко и нунафиг. Уж лучше забабахать Date.from_string. Но это неизбежно в динамическом языке - ведь C++ должен знать всё про аргументы конкретных вызовов конструкторов на этапе компиляции, а мы можем в рантайм творить что угодно )))для чего нужен staticmethod, если это уже не метод, а просто функция, и я могу вынести ее из класса.Да, можете. Я думаю, тут действует логика лучшей читаемости и логика экономии пространства имён:
from date import *
вы не получите охапку непонятных имён.# медленно
l = []
for i in range(100500):
l.append(i)
# чуть быстрее )))
push = l.append
for i in range(100500):
push(i)
Возможно поиск связи между точками можно осуществить по алгоритму DSU(метод не пересекающихся множеств), но у меня не получилось.
N = 5
data = (
((0, 1),),
((1, 2), (3, 2)),
((4, 3),),
((1, 3), (4, 2))
)
root = list(range(N))
def chain_root(a):
res = []
while a != root[a]:
res.append(a)
a = root[a]
return res, a
for pairs in data:
for a, b in pairs:
aa, ra = chain_root(a)
bb, rb = chain_root(b)
if ra > rb:
ra, rb = rb, ra
for node in [*aa, *bb, rb]:
root[node] = ra
aa, ra = chain_root(N - 1)
if ra:
for node in aa:
root[node] = ra
print('WAIT')
else:
print('ATTACK')
break
rand()
, rand() * rand()
, rand() * rand() * rand()
:rand()
дан для ориентации, он синий. Мат. пакеты я взял ради графика, можешь использовать random.random()
import numpy as np, matplotlib.pyplot as plt
from scipy.fftpack import rfft, irfft
n = 2 ** 8
x = np.linspace(0, 2 * np.pi, n)
y = np.sin(x) + np.cos(x * 30)
f0 = rfft(y)
f1 = f0.copy()
f1[:n // 8] = 0
z = irfft(f1)
f, (spectra, signal) = plt.subplots(2, 1, sharey=False)
spectra.plot(x, f0, label='f0')
spectra.plot(x, f1, label='f1')
spectra.legend()
spectra.title.set_text('spectra')
signal.plot(x, y, label='y')
signal.plot(x, z, label='z')
signal.legend()
signal.title.set_text('signal')
plt.legend()
plt.show()
print(('No', 'Yes')[p >= abs(v) + abs(w) and not (p + v + w) % 2])
import re
from collections import Counter
with open('maillog', 'r') as fi:
for m, n in Counter(re.findall(r'(?<=\bfrom=<)[^>]+', fi.read(),
flags=re.M)).most_common():
print(f'{m:32}{n:>3}')
center_y = y + h // 2
dh = max(min(h // 10, center_y - h * 3 // 5, image.height - center_y - h * 3 // 5), 0)
new_y, new_h = y - dh, h + 2 * dh
import asyncio, warnings, itertools
def a():
for ch in 'foo':
print(ch, 'from a')
yield
@asyncio.coroutine
def b():
for ch in 'foo':
print(ch, 'from b')
yield
async def c():
for ch in 'foo':
print(ch, 'from c')
await asyncio.sleep(0)
print('как ни странно, здесь все три прокатывают\n')
loop = asyncio.get_event_loop()
tasks = [loop.create_task(f()) for f in (a, b, c)]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
print('\nмежду тем, есть нюансы\n')
with warnings.catch_warnings():
warnings.simplefilter('ignore')
dirs = [[*dir(f), *dir(f())] for f in (a, b, c)]
for s in sorted(set(itertools.chain(*dirs))):
if not all(s in d for d in dirs):
print(f'{s:14}', *['-+'[s in d] for d in dirs])
s = ("Очень длинная, очень очень длинная, очень очень очень длинная "
"сттррроооокккккаааааа!")
Никакой конкатенации рантайм не происходит - всё при компиляции.t = str.maketrans('abcdefghijklmnopqrstuvwxyz', 'cdefghijklmnopqrstuvwxyzab')
print("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp."
" bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm "
"jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.".translate(t))
Почему возвращается None из функции без обоснованных причин?