Найти в Дзене

PYTHON. Работа с файлами

В файле ***.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов меньше, чем наибольшее из всех чисел в файле, делящихся на 171, и хотя бы один элемент из двух- нечётное число. В ответе запишите два числа: сначала количество найденных пар, а затем - максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. От нас требуется: 1. Загрузить числа из файла ***.txt 2. Определить количество пар чисел: ТО ЕСТЬ ЧИСЛА ДЕЛЯТСЯ НА ПАРЫ И НУЖНО ПОСЧИТАТЬ ИХ КОЛИЧЕСТВО, ТО ЕСТЬ ВКЛЮЧИТЬ СЧЕТЧИК 3. Пары удовлетворяют условию: а) хотя бы один из двух элементов меньше, чем наибольшее из всех чисел в файле, делящихся на 171 ДЛЯ ЭТОГО НАДО ВЫБРАТЬ ИЗ ПОСЛЕДОВАТЕЛЬНОСТИ числа, кторые делятся на 171 и найти наибольшее б) хотя бы один из двух элементов нечетное число 4. вывести ответ

В файле ***.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов меньше, чем наибольшее из всех чисел в файле, делящихся на 171, и хотя бы один элемент из двух- нечётное число. В ответе запишите два числа: сначала количество найденных пар, а затем - максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

От нас требуется:

1. Загрузить числа из файла ***.txt

2. Определить количество пар чисел: ТО ЕСТЬ ЧИСЛА ДЕЛЯТСЯ НА ПАРЫ И НУЖНО ПОСЧИТАТЬ ИХ КОЛИЧЕСТВО, ТО ЕСТЬ ВКЛЮЧИТЬ СЧЕТЧИК

3. Пары удовлетворяют условию:

а) хотя бы один из двух элементов меньше, чем наибольшее из всех чисел в файле, делящихся на 171 ДЛЯ ЭТОГО НАДО ВЫБРАТЬ ИЗ ПОСЛЕДОВАТЕЛЬНОСТИ числа, кторые делятся на 171 и найти наибольшее

б) хотя бы один из двух элементов нечетное число

4. вывести ответ

А)сначала количество найденных пар,

Б) а затем - максимальную сумму элементов таких пар.

РЕШЕНИЕ:

# считываем числа из файла в список а

a=[int(x) for x in open('17_243.txt')]

# Создадим ячейку k, в которой будем хранить информацию о количестве получившихся пар. Сейчас мы еще не начали считать, поэтому количество таких пар равно 0

k = 0

Пока мы присвоили самое маленькое значение элемента последовательности

mx = 0

# чтобы не выходить за пределы массива, перебирать будем от первого элемента до предпоследнего

for i in range(len(a)-1):

# по условию необходимо,

# что бы хотя бы одно число было кратно 171

# проверяем элементы списка на делимость

if a[i]%171==0 or a[i+1]%171=0:

k+=1 # если условие выполняется, количество пар увеличивается на 1

mx=max(mx,a[i]+a[i+1]) # если условие выполняется находим сумму элементов и #сравниваем старую сумму mx и новую сумму a[i]+a[i+1]). Переменной mx #присваиваем наибольшее значение из этих двух

#выводим результат print (k, mx)