func=lambda call: True
. text
и строка-ключ key
, а также список строк, содержащий алфавит языка alpha
.# принимает символ открытого текста, его позицию в тексте, строку-ключ и алфавит
# возвращаем символ шифротекста
def viginere_encode(text_char: str, i: int, key: str, alpha: list[str]) -> str:
if text_char not in alpha: # незнакомый символ?
return text_char # оставляем его как есть
text_char_code = alpha.index(text_char) # номер символа открытого текста в алфавите
key_char = key[i % len(key)] # символ ключа, соответствующего i-му символу открытого текста
key_char_code = alpha.index(key_char) # номер символа ключа в алфавите
cypher_char_code = (text_char_code + key_char_code) % len(alpha) # номер символа шифротекста
return alpha[cypher_char_code] # возвращаем символ шифротекста
cipher_text = ''
for i in range(len(text)):
cipher_text += viginere_encode(text[i], i, key, alpha)
alpha = list('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
text = 'A SMOKE OF MOTHERLAND IS SWEET FOR US AND PLEASANT'
key = 'SECRET'
# принимает символ открытого текста, его позицию в тексте, строку-ключ и алфавит
# возвращаем символ шифротекста
def viginere_encode(text_char: str, i: int, key: str, alpha: list[str]) -> str:
if text_char not in alpha: # незнакомый символ?
return text_char # оставляем его как есть
text_char_code = alpha.index(text_char) # номер символа открытого текста в алфавите
key_char = key[i % len(key)] # символ ключа, соответствующего i-му символу открытого текста
key_char_code = alpha.index(key_char) # номер символа ключа в алфавите
cypher_char_code = (text_char_code + key_char_code) % len(alpha) # номер символа шифротекста
return alpha[cypher_char_code] # возвращаем символ шифротекста
# принимает символ шифротекста, его позицию в тексте, строку-ключ и алфавит
# возвращаем символ открытого текста
def viginere_decode(cipher_char: str, i: int, key: str, alpha: list[str]) -> str:
if cipher_char not in alpha: # незнакомый символ?
return cipher_char # оставляем его как есть
cipher_char_code = alpha.index(cipher_char) # номер символа шифротекста в алфавите
key_char = key[i % len(key)] # символ ключа, соответствующего i-му символу шифротекста
key_char_code = alpha.index(key_char) # номер символа ключа в алфавите
text_char_code = (cipher_char_code + len(alpha) - key_char_code) % len(alpha) # номер символа открытого текста
return alpha[text_char_code] # возвращаем символ открытого текста
cipher_text = ''
for i in range(len(text)):
cipher_text += viginere_encode(text[i], i, key, alpha)
decoded_text = ''
for i in range(len(cipher_text)):
decoded_text += viginere_decode(cipher_text[i], i, key, alpha)
print(text)
print(cipher_text)
print(decoded_text)
number_1 = num_1()
number_2 = num_2()
# дальше работаешь с number_1 и number_2
send_length += b' ' * (HEADER - len(send_length))
from pathlib import Path
from sys import argv
SCRIPT_DIR = Path(sys.argv[0]).parent.resolve() # путь к папке скрипта
path = str(SCRIPT_DIR / 'Computer.PNG') # путь к файлу в этой папке
# далее по тексту твоей программы
from pathlib import Path
from sys import argv
import numpy
import cv2
SCRIPT_DIR = Path(sys.argv[0]).parent.resolve() # путь к папке скрипта
path = str(SCRIPT_DIR / 'Computer.PNG') # путь к файлу в этой папке
file_data = numpy.fromfile(path, numpy.uint8) # содержимое файла "как есть"
image = cv2.imdecode(file_data, cv2.IMREAD_COLOR) # декодированное содержимое (картинка)
button = pyautogui.locateOnScreen(image) # передаём сразу картинку
pyautogui.click(button)
Индексы строки должны быть числами. Ошибка указывает на account['name']
.
for account in accounts
. Значит, accounts либо является коллекцией строк, либо является словарём с ключами строками. Надо проверить, что приходит в accounts, либо с помощью пошагового прохода программы, либо с помощью отладочного print().:0: RuntimeWarning: coroutine 'Application.shutdown' was never awaited
:0: RuntimeWarning: coroutine 'Application.initialize' was never awaited
Application.initialize()
), а это корутины. Их так вызывать бесполезно. Если ты их вызываешь внутри другой корутины (async def функции), то можешь исправить вызов на await Application.initialize()
. Если же ты пытаешься вызвать их из обычной функции (просто def), то все становится куда сложнее...