Отслеживаем прогресс выполнения в Python
Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.
Используем Progress
Первым у нас идёт модуль Progress.
Всё, что от вас потребуется, это указать количество ожидаемых итераций, тип индикатора и вызывать функцию при каждой итерации:
import time from progress.bar import IncrementalBar mylist = [1,2,3,4,5,6,7,8] bar = IncrementalBar('Countdown', max = len(mylist)) for item in mylist: bar.next() time.sleep(1) bar.finish()
Есть индикаторы на любой вкус:
Используем tqdm
Следующей на очереди идёт библиотека tqdm.
Быстрый и расширяемый индикатор прогресса для Python и CLI
Всего один вызов функции понадобится для получения результата аналогичного предыдущему:
import time from tqdm import tqdm mylist = [1,2,3,4,5,6,7,8] for i in tqdm(mylist): time.sleep(1)
Само собой, в комплекте идёт куча настроек и опций.
Используем alive-progress
Ещё один вариант синтаксиса, побольше дефолтных анимаций, чем в предыдущих примерах:
from alive_progress import alive_bar import time mylist = [1,2,3,4,5,6,7,8] with alive_bar(len(mylist)) as bar: for i in mylist: bar() time.sleep(1)
GUI индикатор прогресса для скрипта
Иногда возникает необходимость предоставить конечному пользователю графический индикатор.
Сколько кода нужно, чтобы достигнуть такого результата? Немного:
import PySimpleGUI as sg import time mylist = [1,2,3,4,5,6,7,8] for i, item in enumerate(mylist): sg.one_line_progress_meter('This is my progress meter!', i+1, len(mylist), '-key-') time.sleep(1)
Индикатор в приложении PySimpleGUI
Рассмотрим реализацию индикатора в PySimpleGUI.
Вот как это сделать:
import PySimpleGUI as sg import time mylist = [1,2,3,4,5,6,7,8] progressbar = [ [sg.ProgressBar(len(mylist), orientation='h', size=(51, 10), key='progressbar')] ] outputwin = [ [sg.Output(size=(78,20))] ] layout = [ [sg.Frame('Progress',layout= progressbar)], [sg.Frame('Output', layout = outputwin)], [sg.Submit('Start'),sg.Cancel()] ] window = sg.Window('Custom Progress Meter', layout) progress_bar = window['progressbar'] while True: event, values = window.read(timeout=10) if event == 'Cancel' or event is None: break elif event == 'Start': for i,item in enumerate(mylist): print(item) time.sleep(1) progress_bar.UpdateBar(i + 1) window.close()
Заключение
Как видите, нет ничего сложного в добавлении информации о прогрессе выполнения: кода немного, а отзывчивость повышается очень сильно. Используйте индикаторы, чтобы больше никогда не гадать, завис ли процесс или нет!
- progress bar
- индикатор прогресса
Обзор приложения «СберKids»
В России детские приложения есть у Сбера, Тинькофф, Почта Банка и SBI. Мы нашли реальных клиентов этих банков: все они хотели научить детей распоряжаться деньгами и ориентироваться в мире финансов. Мы попросили их зарегистрироваться в приложении и подробно рассказать о своём опыте. Давайте вместе посмотрим на приложения глазами обычных пользователей: детей и родителей.
В этом обзоре разбираем приложение «СберKids».
Восьмилетняя Ева пользуется приложением с марта 2020. Рассказывает её мама — Ирина.
Предыстория
Дочь пошла в школу, и первые карманные деньги стали необходимостью. Отданный в личное пользование старенький родительский айфон быстро наполнился иконками приложений. Тут случилась эпидемия, всем рекомендовали ограничить оборот наличных в пользу электронных платежей. Почему бы не подготовить ребенка к новым дивным временам, подумали мы и предложили дочери поставить приложение СберKids.
Почему Сбер
При выборе банка ориентировались на пользовательские привычки мамы со счётом и картой в Сбере. Если бы у Сбера не было специального детского приложения, для наших целей пришлось бы заводить взрослую карту в другом банке.
Установка и регистрация
Приложение СберKids устанавливается из App Store или Play Маркета на телефоны родителя и ребенка. Клик на нужную кнопку — и идём по сценарию синхронизации их с друг другом.
«Я родитель»
СберKids первым делом проверяет: родитель — клиент банка или нет? Если нет, то сначала придётся перейти на сайт банка и оформить карту.

Действующий клиент сразу заходит в СберKids по Сбербанк ID, подключает Touch ID и дополнительно придумывает код (на случай если отпечаток пальца подведёт):

Итак, мы внутри. Теперь надо подключить к системе ребёнка. При регистрации СберKids запрашивает свидетельство о рождении. Приложение рассчитано на детей от 6 до 13 лет. Чтобы подтвердить возраст ребёнка, нужно отсканировать документ с помощью камеры телефона.

Если удалить приложение со смартфона и поставить его заново, то после переустановки ребенок уже будет подключен к системе — останется только заново придумать код для входа. Второй раз сканировать свидетельство о рождении не нужно.
Чтобы связать аккаунты СберKids родителя и ребенка, вновь понадобится камера: считать детским телефоном QR-код на смартфоне родителя. После этого имя ребенка и баланс его счета отобразятся в родительском приложении.

На балансе, конечно, по нулям. Родитель привязывает к приложению свою карту Сбербанка и с неё переводит ребенку деньги. Минус: в СберKids нельзя добавить обоих родителей — только одного. Для сравнения, в SBI подключаются оба. Это не очень удобно с точки зрения единой финансовой системы семьи.
«Я ребенок»
Первым делом в приложении ребёнок увидит видеопрезентацию: детский онбординг должен быть доходчивым.

Теперь ребенку нужно:
1) ввести свой номер телефона,
2) отсканировать родительский QR-код,
3) придумать код для входа. На этом шаге также можно настроить Touch ID.

Завершающий штрих — подключение детской виртуальной карты к Apple Pay при помощи смс:

Приложение на смартфоне ребенка
После установки и первого пополнения счёта детским приложением фактически можно начинать пользоваться. Карта — только виртуальная, MasterCard. Для сравнения, Tinkoff настаивает на доставке на дом пластика: пока юный пользователь не получит физическую карту, его не авторизуют.
Пройдемся по пяти разделам таб бара.
СберKids. Главная
Первым делом СберKids предлагает выбрать дизайн виртуальной карты. Неожиданно это стало предметом особенной радости: будто розовый единорог платежеспособнее зеленого кота. Стиль карты влияет и на стиль приложения. Дизайн можно менять в любой момент и сколько угодно раз.

Верхний левый угол — сумма на детском счете, верхний правый — переход в профиль и саппорт. В профиле можно настроить смс-уведомления об операциях — это стоит 30 рублей в месяц.

В техподдержке можно ознакомиться с FAQ, обратиться к банку через три соцсети на выбор или позвонить. Если ВКонтакте и Одноклассники были ожидаемым решением для госкорпорации, то Инстаграм в этом списке оказался неожиданностью.

Кроме большой кнопки «Сменить дизайн» на первом внутреннем экране есть также кнопки поменьше: «О карте» и «Пополнить». Заглянем внутрь.
О карте
Безопасность превыше всего: если сегодня и взрослые становятся жертвами мошенников, то что говорить о детях. Эмодзи-обезьяна предупредила, если что.
Здесь номер карты и срок ее действия, возможность получить коды, тут же объяснение, что такое пин-код и для чего нужен, советы по безопасности.

По клику на «Получить CVV код» приходит смс. Если нажать на «Получить пин-код», первые две цифры отображаются сразу в приложении, а последние две — в смс. Одноклассник не подсмотрит!

Если потянуть таб бар вверх, появляются карусель из четырнадцати кликабельных виджетов с информацией для расширения кругозора, информация об ограничениях (в СберKids нельзя снимать бумажные деньги, переводить средства другим и оплачивать зарубежный шопинг) и установленные родителем лимиты на расходование.

Познавательные виджеты по клику открываются в истории. В рамках одного виджета может быть разное количество историй. Например, из виджета «Где используется искусственный интеллект?» открывается 5 историй-ответов:

А из виджета «Что такое чикибамбони?» историй всего две:

А вот вы знали про этот мем? Контент в приложении действительно хорош.
Копилка и желания
Скрины ниже отличаются только оформлением раздела в зависимости от выбранного вида виртуальной карты. Количество денег в копилке показано в том же верхнем левом углу, где и сумма на основном счете в главном разделе. Чтобы пополнить копилку в приложении, ребенок может перевести деньги со своей виртуальной карты.

Сумму можно отрегулировать ползунком или вбить вручную.

На этом всё. Заявленная возможность оформить свои желания не обнаружена.
Получи профит
На старте приложение сообщило, что нового профита пока нет (левый скрин). Спустя пару месяцев их стало доступно три (правый скрин). Но при этом ничего не кликается — кроме таб бара.

Стань круче
По своей логике раздел фактически повторяет «Получи профит»: выполняй задания и получай подарки. Не совсем понятно, зачем он нужен в виде отдельной кнопки. Проверить содержание раздела также не представляется возможным, потому что ничего кликабельного здесь, как и в предыдущем, тоже нет.

Два скрина, сделанные с интервалом в два месяца и после обновления приложения, показывают, что раньше тестов было 4, а теперь — 6. Может, ребенок еще не нарастил достаточно кармы, и тесты откроются позже. Или этот контент еще в разработке на стороне Сбера.
Бонусы СПАСИБО
Бонусная программа Сбербанка — это кэшбэк от всех трат клиента. При клике на «Узнать больше» приложение переводит на сайт программы, где предлагается установить отдельное приложение «Спасибо от Сбербанка». Все по-взрослому, условия единые для всех — независимо от возраста.

Приложение на смартфоне родителя
Родитель подключает в приложение СберKids карту, с которой будет делать переводы на карту ребенка, и мониторит его финансовую историю.
Главная
Блоки «Полезное» в родительском приложении частично повторяют виджеты из детского: например, узнать, что такое чикибамбони, можно и тут. Есть и взрослый контент: педагогический — «Можно ли ругать ребенка», «Как научить ребенка экономить» и просветительский — «Таск-менеджер для дома».

Можно подключить в приложение счета других детей и связаться с поддержкой. Если в детском приложении было три соцсети для связи с банком, то во взрослом их четыре: добавился Фейсбук.

При клике на имя ребенка попадаем в раздел с его картой, операциями и историей.
Операции
На детской карте не может быть больше 15 тысяч ₽. Пополнить детскую карту можно на любую сумму в пределах этого лимита. При этом если на детской карте лежит, например, 120₽, довнести можно максимум 14880₽.

Родитель устанавливает лимиты на одну покупку, на день и на месяц. В любой момент их можно подкорректировать.
В разделе «Что хочет в подарок» предполагается, что ребенок формирует свои хотелки в детском приложении, а они отображаются также у родителя. Судя по всему, опция в разработке, потому что у ребенка в разделе «Копилка и желания» нет больше ничего — можно только добавить деньги в копилку или перевести обратно на карту.
В разделе «Блокировка», кроме непосредственно закрытия карты, дублируется переход в настройку лимитов.

«История» показывает всё, что происходило со счетом карты, включая переводы денег в копилку и обратно с копилки на счет. Жаль, что в детском приложении истории нет. Это позволило бы ребенку самостоятельно оценивать свои расходы в динамике.

Резюме
Главные задачи детское приложение выполняет: карта заводится моментально, ею можно расплачиваться бесконтактным способом, деньги удобно копить. Жаль только, что другие функции с многообещающими названиями «Получи профит», «Стань круче» не работают.
Признаюсь честно, дочь не спешила получать профит и становиться круче, так что отсутствие заданий в приложении ее совсем не расстроило. Возможно, в Сбербанке это тоже понимают, поэтому детские бонусные системы отложили в бэклог.
Зато куда больше мою дочь привлекла возможность покупать себе чупа-чупсы самостоятельно, рассчитываясь на кассе, «как взрослая», прикладывая айфон к терминалу. От наблюдения за копилкой усилился интерес к накоплениям. И конечно, положительную роль сыграл розовый единорог.
Вы в блоге Surf
Мы разрабатываем мобильные приложе- ния и помогаем в цифровизации крупного бизнеса.
Всего: 549

Библио-Глобус занимает лидирующие позиции на туристическом рынке России. Клиентам компании доступно более 30 направлений в России, Средиземноморье, Азии, Африке, Индийском океане, странах СНГ и на Ближнем Востоке. Онлайн-система бронирования позволяет оформить разнообразные варианты туров, среди которых экскурсионные и оздоровительные, индивидуальные и групповые, комбинированные и пакетные. Библио-Глобус сотрудничает с 25 000 агентств и надежными поставщиками на рынке авиаперевозки: крупными российскими и иностранными компаниями. Основные партнеры туроператора в воздушном пространстве — «Аэрофлот» и «Россия».
В 2022 году услугами компании Библио-Глобус воспользовались 1 674 506 человек.
В 2021 году услугами компании Библио-Глобус воспользовались 2 199 140 человек.
В 2020 году услугами компании Библио-Глобус воспользовались 1 895 477 человек.
В 2019 году услугами компании Библио-Глобус воспользовались 3 584 389 человек.
В 2018 году услугами компании Библио-Глобус воспользовались 2 934 056 человек.
В 2017 году услугами компании Библио-Глобус воспользовались 2 863 294 человек.
В 2016 году услугами компании Библио-Глобус воспользовались 1 658 922 человек.
Отдыхай активно, спортивно, позитивно!
Tusk act 4
Tusk Act 4 — стенд дальнего боя , который Джонни Джостар использовал в седьмой части Jojo’s Bizarre Adventure, Steel Ball Run.
У Tusk Act 4 есть пара ниш по сравнению с его предыдущими воплощениями. Бесконечное вращение — ключевая способность Tusk Act 4, поскольку она позволяет пользователю идти с остановкой времени в течение двух-четырех секунд. Все это время Infinite Rotation обходит атаки, которые перенаправляют, наиболее ярким примером является Love Train . Единственный способ, которым другие стенды могут повредить его способности перенаправления, — это статусные эффекты, такие как кровотечение или яд. Tusk Act 4 также является единственной версией Tusk, которая имеет какие-либо возможности ближнего боя из-за его barrage и barrage finisher. Апперкот червоточины также можно
использовать для поражения цели, так как Tusk Act 4 может использовать заградительный огонь или финишер Barrage, которого нет в Tusk Act 3.
Tusk Act классифицируется как Реквием Стенд, поэтому не может быть использован для не конкурентного режима в Steel Ball Run
Некоторые игроки могут даже счесть его хуже Tusk Акт 3 . В основном это связано с более короткими перезарядками Акта 3, что позволяет использовать потенциал зонирования, которого нет в Акте 4.
- 1 Как получить Tusk Act 4
- 1.1 Способности:
- 2.1 Боксерские комбо
- 2.2 Хамон комбо
Как получить Tusk Act 4 [ ]
- Найти грудную клетку святого трупа и использовать.
- Найти Джайро (в пиццерии возле мисты), он обучит тебя навыку Spin. Потом берешь левую руку святого трупа и протыкаешь себя ей (Обязательно нужен 5 достоинство). Левую руку можно выбить с аркады с малым шансом.
- Найти Иисуса, поговорить с ним и он даёт Tusk Act 3
- Дальше нужно идти в Steel Ball Run (SBR), там за 1 место в Casual режиме дают таз святого трупа, аналогично в Competitive, только уже за 1 и 2 место дают таз. Также таз можно выбить в аркаде с очень маленьким шансом
Способности: [ ]
LMB — Punch: Этот короткий ход с коротким временем перезарядки наносит 9,9 урона при максимальной разрушительной силе и может комбинироваться 5 раз, в конечном итоге нанося 45 урона при попадании всех.
E — Stand Barrage : Tusk Act 4 появляется перед пользователем, чтобы нанести шквал ударов. Каждый удар наносит максимум 1,6 урона.
R — Barrage Finisher : мощный удар, который может сломать блоки и разбить противников. Наносит 19,8 урона. здесь можно услышать «ORA»
T — Nail Shot : стреляет 3 ногтями, каждый из которых наносит 8,8 урона, которые можно заблокировать.
Y — Gold Rectangle Nail : Стреляет 1 ногтём, нанося 26,4 урона, минуя блоки и тряпичные куклы. Если этот прием заблокирован, после нокдауна этот прием будет иметь короткое оглушение.
G — Arigato Gyro:
Таск наносит удар, наносящий 7,3 ед. урона. Затем следует продолжительный избиение продолжительностью 23 секунды, каждый удар наносит 0,1 урона, затем 3 удара, наносящие 5,9 урона каждый; затем в другое избиение, наносящее 0,2 урона за удар в течение 10 секунд. Затем Tusk завершает избиение ударом, наносящим различный урон в зависимости от того, сколько здоровья осталось у цели, отбрасывая противника. Этот ход идеально блокируется. Его перезарядка длится 85 секунд, но, поскольку битдаун очень долгий, фактическое время восстановления этого движения составляет 62. Этот прием оглушает достаточно долго, чтобы комбо продлилось после битдауна.
H — Tea Time : Пользователь пьет чай, исцеляя их максимум на 30,5. Это потому, что в манге чай (особенно ромашковый) ускоряет отрастание ногтей Джонни.
C — Wormhole Uppercot : Tusk и его пользователь погружаются в червоточину, поднимаясь обратно, чтобы атаковать ближайшего врага. Это наносит 14,8 урона, затем поражает пользователя, нанося 7,3 урона; затем наносит небольшой шквальный удар 10 раз, нанося 1,6 урона, затем Tusk завершает короткий beatdown с 7,3 урона. Несмотря на то, что он блокируется, быстрый подъем облегчает посадку, чем раньше. Этот ход, как и beatdown, обладает достаточным оглушением, чтобы вы могли продлить действие комбо после окончания хода.
X — Wormhole Nails : Tusk Act 4 использует червоточины для перенаправления гвоздей, которые недавно были выпущены и промахнулись, автоматически направляя их обратно в единственную цель. При обновлении к этой способности будут добавлены дополнительные выстрелы гвоздями, что позволит вам использовать ее, не стреляя предварительно в другие гвозди. Вы можете использовать эту способность на средних дистанциях, нажав X на цели, наведя на них курсор.
Z — Nail Glide : Скользите ногтем, движения можно использовать при использовании nail glide.
комбо: [ ]
- G +X+T+Y+V+B+ЛКМ (x5)+R+E (1 сек)+X+ЛКМ (x5)
- G +ЛКМ (x5)+X+Y+V+B+T+R+ЛКМ (x5)
- G +E+C+X+T+Y+B+V+R+ЛКМ (x5)
- G +N+T+Y+B+V+X+E+R+ЛКМ (x5)+C+ЛКМ (x5)
- G+N+X+E+C+ЛКМ (x5)+T+Y+B+V
- G+C+Y+B+T+X
- G+Y+T+X+V+B+C+E+R+ЛКМ (X5)
Боксерские комбо [ ]
- Т+Y+Х+К+Р+Е+В
- T+X+Y+C+Jaw Breaker (среднее комбо)
- Рывок+R+T+Y+X+C+Выдавливание глаз+E (используется для противодействия)
- R+G+C
- Т+C+V
- C(после пробития блока)+ X + V + G + X + V + C + X + V + E + Jaw Breaker
Хамон комбо [ ]
Зарядить Хамон
- M1 x2+R+E (на 5 секунд)+C+Y+T+R+X
- T+X+Y+Апперкот червоточины+Удар зумом+Алый овердрайв
- M1+R+B+M1
