Тема Практика Программирования

04 Работа с файлами

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела практика программирования
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#37243

Вам дано число n  . Затем Вам даны n  троек чисел вида (a,b,c)  . Ваша задача — посчитать сумму всех средних (имеется в виду элемент, расположенный в середине тройки, если упорядочить ее элементы по возрастанию) элементов среди всех троек.

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — длина последовательности троек.

В следующих n  строках записано по три числа в каждой строке — элементы каждой тройки (1 ≤ a,b,c ≤ 100  ).

В качестве ответа запишите результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

2

4  9  5

6  1  3

Пояснение к примеру:

Средние элементы из каждой пары: 5  , 3  . Их сумма — 8  . Поэтому ответ на данный пример — 8  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
ans = 0
for i in range(n):
    a, b, c = map(int, f.readline().split())
    ans += a + b + c - max(a, b, c) - min(a, b, c)
print(ans)

Ответ: 2529

Ошибка.
Попробуйте повторить позже

Задача 2#37249

Вам дана последовательность A  , состоящая из n  чисел. Вам требуется найти количество инверсий в данной последовательности. Инверсией называется пара чисел (i,j)  , такая, что i < j  и при этом Ai > Aj  .

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — длина последовательности A  .

В каждой из следующих n  строк записано по одному числу в строке — элементы последовательности A  (1 ≤ Ai ≤ 100  ).

В качестве ответа запишите одно число - результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

4

3

1

2

4

Пояснение к примеру:

Инверсиями в данной последовательности являются следующие пары чисел под следующими индексами: (1,2)  ,    (1,3)  . Поэтому ответ на данный пример — 2  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
ans = 0
for i in range(n):
    for j in range(i + 1, n):
        if (a[i] > a[j]):
            ans += 1
print(ans)

Ответ: 1352

Ошибка.
Попробуйте повторить позже

Задача 3#37250

Вам дана последовательность A  , состоящая из n  чисел. Ваша задача — определить минимальную сумму элементов среди всех подпоследовательностей последовательности A  .

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — количество элементов в последовательности A  .

В следующих n  строках записаны n  чисел по одному числу в строке — элементы последовательности A  (− 100 ≤ Ai ≤ 100  ).

В ответ запишите одно число — результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

4

− 1

− 2

3

8

Пояснение к примеру:

Ответ на данный пример — − 3  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
ans = 1000000000
for i in range(n):
    cnt = 0
    for j in range(i, n):
        cnt += a[j]
        ans = min(ans, cnt)
print(ans)

Ответ: -357

Ошибка.
Попробуйте повторить позже

Задача 4#37274

Винни-Пух хочет навестить своего давнего друга — Кролика. У него есть смартчасы, которые выдают ему n  возможных маршрутов до дома Кролика.

Если Винни пойдет по i  -му пути, он достигнет дома Кролика через t
i  минут и при этом заплатит c
 i  мурлей.

Ваша задача — определить минимальную стоимость пути до дома Кролика, такого, что время движения Пуха при этом будет не более T  .

Входные данные:

В первой строке входных данных записаны два числа через пробел: n  и T  (1 ≤ n,T ≤ 1000  ) — количество маршрутов до дома Кролика и максимальное допустимое время пути соответственно.

В каждой из следующих n  строк записано по два числа в строке: ci  и ti  (1 ≤ ci,ti ≤ 1000  ) — стоимость в мурлях и длительность пути в минутах i  -го пути соответственно.

В качестве ответа запишите результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

3  70

7  60

1  80

4  50

Пояснение к примеру:

Если Пух пойдет первым путем, то потратит 7  мурлей. Пойти вторым он не сможет, так как второй путь слишком долгий. Ну а если Винни пойдет по третьему пути, то заплатит всего 4  мурля. Это и является минимальной стоимостью допустимого пути. Поэтому ответ на данный пример — 4  .

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n, t = map(int, f.readline().split())
ans = 100000000
for i in range(n):
    a, b = map(int, f.readline().split())
    if (b <= t):
        ans = min(ans, a)
print(ans)

Ответ: 5

Ошибка.
Попробуйте повторить позже

Задача 5#38284

Вам дана последовательность A  , состоящая из n  чисел. Также Вам даются два числа l  и r  . Ваша задача — написать программу, которая выведет на экран "YES" , если между l  -м и r  -м элементами последовательности включительно есть число 4  , и "NO" в противном случае.

Входные данные:

В первой строке входных данных записано одно число n  (1 ≤ n ≤ 100  ) — количество элементов в последовательности A  .

В каждой из следующих n  строк записано по одному числу Ai  (1 ≤ Ai ≤ 30  ) — элементы последовательности A  .

В последней строке записаны два числа l  и r  (1 ≤ l ≤ r ≤ n  ) — границы отрезка, в пределах которого нужно проверить наличие числа 4  среди элементов последовательности A  .

В качестве ответа выведите результат работы программы для входных данных, представленных в файле file.txt.

Пример входного файла:

4

1

4

5

10

3  4

Пояснение к примеру:

Так как среди элементов с индексами от 3  до 4  нет ни одного числа 4  , ответ на данный пример — "NO".

Вложения к задаче
Показать ответ и решение
f = open("file.txt")
n = int(f.readline())
a = [int(f.readline()) for x in range(n)]
l, r = map(int, f.readline().split())
ok = 0
for i in range(l, r + 1):
    if (a[i] == 4):
        ok = 1
if (ok):
    print("YES")
else:
    print("NO")

Ответ: YES

Ошибка.
Попробуйте повторить позже

Задача 6#39464

На вход подаётся число N  , а затем N  целых чисел. Вывести третье положительное из этих чисел. Если такого числа нет, выведите NO.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
counter = 0
ans = ’’
for i in range(n):
    x = int(input())
    if x > 0:
        counter += 1
    if counter == 3:
        ans = x
        counter += 1
print(ans)

Ответ: 1

Ошибка.
Попробуйте повторить позже

Задача 7#39465

На вход подаётся число N  , а затем N  натуральных чисел. Найти сумму максимального числа, кратного 5 и минимального числа, кратного 9.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
maxim_5 = 0
minim_9 = 10**20
for i in range(n):
    x = int(input())
    if x % 5 == 0:
        if x > maxim_5:
            maxim_5 = x
    if x % 9 == 0:
        if x < minim_9:
            minim_9 = x
print(maxim_5 + minim_9)

Ответ: 9816

Ошибка.
Попробуйте повторить позже

Задача 8#39468

На вход программе в первой строке подаётся число N  и затем в следующей N  чисел из множества {0;1} . Найти наибольшее количество единиц, идущих подряд.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
a = list(map(int, input().split()))
ans = 0
counter = 0
for i in range(n):
    if a[i] == 1:
        counter += 1
    else:
        counter = 0
    ans = max(ans, counter)
print(ans)

Ответ: 5

Ошибка.
Попробуйте повторить позже

Задача 9#39469

На вход программе в первой строке подаётся число N,  затем в следующей N  целых чисел. Найти значение наименьшего из всех положительных элементов. Гарантируется, что хотя бы один такой элемент есть.

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
minim = 1000000000
nums = list(map(int, input().split()))
for i in range(n):
    if nums[i] > 0:
        if nums[i] < minim:
            minim = nums[i]
print(minim)

Ответ: 186

Ошибка.
Попробуйте повторить позже

Задача 10#39470

Подается натуральное число n, затем n натуральных чисел. Требуется найти количество пар чисел, сумма которых будет четна, и хотя бы одно из чисел будет превышать 70. Парой считаются два числа, которые стоят рядом друг с другом (разница их индексов равна 1 по модулю).

В ответе укажите число: ответ для приложенного файла.

Вложения к задаче
Показать ответ и решение
n = int(input())
nums = []
for i in range(n):
    nums.append(int(input()))
ans = 0
for i in range(n-1):
    if (nums[i] + nums[i+1]) % 2 == 0:
        if nums[i] > 70 or nums[i+1] > 70:
            ans += 1
print(ans)

Ответ: 4
Рулетка
Вы можете получить скидку в рулетке!