задача ваша ничем не отличается из задачи первого сообщения...Спасибо! Но я некорректно задачу озвучил, прошу прощения.
Целиком задача звучит так:
Напишите функцию, которая принимает на вход две последовательности байт одинаковой длины и возвращает их побайтовый XOR.
Ваша функция работает правильно, если приняв на вход hex-декодированные
1c0111001f010100061a024b53535009181c
и
686974207468652062756c6c277320657965
вернет hex-декодированное значение
746865206b696420646f6e277420706c6179
def foo(b1, b2):
new = []
for a, b in zip(bytes.fromhex(b1), bytes.fromhex(b2)):
new.append(a ^ b)
return bytes(new).hex()
k = foo('1c0111001f010100061a024b53535009181c',
'686974207468652062756c6c277320657965')
print(k)
print(k == '746865206b696420646f6e277420706c6179')
Спасибо! Но я некорректно задачу озвучил, прошу прощения.Например так:
Python:def foo(b1, b2): new = [] for a, b in zip(b1, b2): new.append(a ^ b) return bytes(new) print(foo(b'hello', b'world'))
Да, действительно. Спасибо еще раз!задача ваша ничем не отличается из задачи первого сообщения.
Супер! Благодарю!Тогда так:
Python:def foo(b1, b2): new = [] for a, b in zip(bytes.fromhex(b1), bytes.fromhex(b2)): new.append(a ^ b) return bytes(new).hex() k = foo('1c0111001f010100061a024b53535009181c', '686974207468652062756c6c277320657965') print(k) print(k == '746865206b696420646f6e277420706c6179')