Форум » Обработка целых чисел » Задание №17. Задача №204 » Ответить

Задание №17. Задача №204

1skndr: Условие: В файле 17-204.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным числом, заканчивающимся на 9. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек. Мой код: [pre2]f = open("C:/Users/Home-PC/Desktop/17.txt", 'r') string = f.read() mass = string.split() kol = 0 nmax = 0 for i in range(len(mass)-2): n1 = mass[ i ] n2 = mass[i+1] n3 = mass[i+2] if int(n1) <= 0 and int(n3) <= 0 and int(n2) % 10 == 9 and int(n2) > 0: kol += 1 if int(n1) + int(n2) + int(n3) > nmax: nmax = int(n1) + int(n2) + int(n3) print(kol, nmax)[/pre2] Мой ответ: 63 6241 (неправильный) Очень интересует, что у меня в коде неправильно, голову уже ломаю минут 40. Из условия сказано, что ТОЛЬКО второе число из тройки должно быть положительным и оканчиваться на 9. Отсюда следует, что первое и третье числа должны быть <= 0. Все проверил несколько раз и всё равно не пойму что не так... Помогите пожалуйста.

Ответов - 1

cabanov.alexey: [pre2]if (int(n1)<=0 or int(n1)%10!=9) and (int(n3)<=0 or int(n3)%10!=9) and int(n2) % 10 == 9 and int(n2) > 0: kol += 1 if int(n1) + int(n2) + int(n3) > nmax: nmax = int(n1) + int(n2) + int(n3) [/pre2]



полная версия страницы