
Марк ☢
20.11.2017
06:11:40
test: (groupid=0, jobs=1): err= 0: pid=25182: Mon Nov 20 11:11:09 2017
write: io=1088.0KB, bw=82508B/s, iops=20, runt= 13503msec
clat (msec): min=14, max=503, avg=49.64, stdev=50.04
lat (msec): min=14, max=503, avg=49.64, stdev=50.04
clat percentiles (msec):
| 1.00th=[ 16], 5.00th=[ 18], 10.00th=[ 19], 20.00th=[ 22],
| 30.00th=[ 26], 40.00th=[ 35], 50.00th=[ 39], 60.00th=[ 45],
| 70.00th=[ 52], 80.00th=[ 63], 90.00th=[ 82], 95.00th=[ 120],
| 99.00th=[ 310], 99.50th=[ 433], 99.90th=[ 502], 99.95th=[ 502],
| 99.99th=[ 502]
bw (KB /s): min= 21, max= 128, per=100.00%, avg=81.96, stdev=33.48
lat (msec) : 20=13.60%, 50=55.15%, 100=24.26%, 250=5.88%, 500=0.74%
lat (msec) : 750=0.37%
cpu : usr=0.00%, sys=0.15%, ctx=574, majf=0, minf=10
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=272/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=1
видишь как показывается ?
а надо вот так:
а не так:
https://github.com/telegramdesktop/tdesktop/issues/1587
короче они пидоры

Vitaliy Nameless
22.11.2017
17:51:02
Вопрос от новичка. Кто может подсказать?
Есть рекурсивная функция которая отдает список на выходе. Как ее переделать на генератор? Первый yield отдается нормально, но первый же return сливные прерывает итерирование. Как сделать, чтобы только тот return, что является условием выхода из рекурсии был и условием окончания итерирования.
Подозреваю, магия в каком-то виде?
Сделать итерируемый класс и перегрузить там какой-нибудь магический метод? В котором описывается условие окончания итерирования или чонить типа того?
Все, нашел
yield from
Зашибись

Maks
23.11.2017
10:01:37
тогда: for i in range(len(stroka) - 1); брать срез [i:i+1] , ревертить и матчить с [i+2:i+3]
больше ничего в голову не приходит
и счетчик матчей
сколько раз труъ будет
еще можно допилить - после первого труъ запомнить длину среза, оставшуюся часть строки сразу поделить на 2 и сматчить, чтобы время не тратить на перебор
то есть неизвестной будет только длина первой пары подстрок
это работает:
#! /usr/bin/env python3
stroka = input('Your string here: ')
for i in range(len(stroka) - 1):
podstr1 = stroka[:i+2] #срез 1й половины подстроки
podstr1 = podstr1[::-1] #реверс 1й половины подстроки
l1 = len(podstr1)
podstr2 = stroka[l1:l1+i+2] #вторая половина подстроки
if podstr1 == podstr2:
pair1_len = len(podstr1) + len(podstr2)
pair2_len = len(stroka) - pair1_len
l3 = int(pair2_len / 2)
podstr3 = stroka[pair1_len:pair1_len + l3]
podstr3 = podstr3[::-1]
podstr4 = stroka[pair1_len + l3:]
if podstr3 == podstr4 and pair2_len > 0:
print("Two symmetric substrings found!")
print(stroka[:pair1_len])
print(stroka[pair1_len:])
exit()
print("One symmetric substring found!")
print(stroka[:pair1_len])
колхоз на коленке, но идея понятна