Проект Euler # 59, Неправильный ответ - PullRequest
1 голос
/ 02 ноября 2019

Я не знаю, почему этот код не дает правильного ответа

Я запустил этот код на процессоре 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...