Я не знаю, почему этот код не дает правильного ответа
Я запустил этот код на процессоре Intel Core i3
from array import array
with open("cipher.txt","r") as file:
main_list=file.read().split(",")
sub_list1=array("i",[])
sub_list2=array("i",[])
sub_list3=array("i",[])
for i in range(len(main_list)):
if i%3==0:
sub_list1.append(int(main_list[i]))
elif i%3==1:
sub_list2.append(int(main_list[i]))
else:
sub_list3.append(int(main_list[i]))
def is_valid(xor):
if 32 <= xor <= 90:
return True
elif 97 <= xor <= 122:
return True
return False
ASCIIs2=list(range(97,123))
_lists=[sub_list1,sub_list2,sub_list3]
codes=[]
while len(codes)!=len(main_list):
for _list in _lists:
for key in ASCIIs2:
codes_copy=[]
for value in _list:
n=int(value)^key
if is_valid(n) :
codes_copy.append(int(value)^key)
else:
break
else:
codes+=codes_copy
break
print(sum(codes))
Согласно ответу, sub_list1 долженбыть расшифрованы 103, но это говорит, что расшифровано 101