элементы последовательности, первый элемент которой равен x, а каждый последующий – среднему арифметическому из предыдущего элемента и отношения x к предыдущему элементу
как можно это пофиксить опиши кратко если можешь
recognized_text = ... # выхлоп распознавания речи
recognized_text = recognized_text.lower() # скорее всего, регистра у тебя и так не будет...
# Ты должен проверить, что она начинается с ключевого слова (имени бота).
for alias in VA_ALIAS:
if recognized_text.startswith(alias):
recognized_text = recognized_text[len(alias):].strip() # удаляем алиас из текста
found = False
# потом перебрать все возможные команды
for cmdcode, prefixes in VA_CMD_LIST.items():
# для каждой команды перебрать её префиксы - не начинается ли строка с этого префикса?
for prefix in prefixes:
if recognized_text.startswith(prefix): # нашли префикс
recognized_text = recognized_text[len(prefix):].strip() # удаляем префикс, но мог остаться дальнейший текст
found = True
do_command(cmdcode, recognized_text)
break # больше не ищем префиксы
if found: # больше не ищем команды
break
else: # относится к for cmdcode, prefixes, сработает если не было break
pass # команда не распознана, что-то сообщаем пользователю
Если в переменной cmd лежит строка sreachyoutube(!), то там по определению не может содержаться подстроки "Кеша видео".
file.write(f'{quotes[i].text}\n-- {authors[i].text} {tagforquote.text}\n')
def restartgame(self):
pyautogui.click(self.replaybtn)
# при отправке
await writer.write(b'screen ')
# отправляем длину как 4байтовое беззнаковое целое с порядком бит BigEndian
# можно выбрать эти параметры иными, лишь бы отправитель и получатель делали одинаково.
await writer.write(len(image_data).to_bytes(4, 'big', signed=False))
await writer.write(image_data)
#при приёме
received = await reader.read(2048)
MAGIC = b'screen '
if received.startswith(MAGIC):
received = received[len(MAGIC):] # отрезаем сигнатуру
length_bytes, received = received[:4], received[4:] # вынимаем из буфера байты длины
# декодируем длину как 4байтовое беззнаковое целое с порядком бит BigEndian
image_length = int.from_bytes(length_bytes, 'big', signed=False)
# дочитываем остаток изображения! Вот этого я от тебя так и не увидел.
while (len(received) < image_length):
received += await reader.read(2048)
# на случай если после изображения будут ещё данные
screenshot, received = received[:image_length], received[image_length:]
# в screenshot должно лежать полное изображение