import sys
import os
def read_numbers_from_file(filename):
with open(filename, 'r') as file:
return [list(map(int, line.split())) for line in file]
def main():
# Чтение имен файлов из стандартного ввода
filenames =
sys.stdin.read ().strip().split()
# Сортировка имен файлов в алфавитном порядке
filenames.sort()
all_numbers = []
lines = []
# Чтение чисел из файлов
for filename in filenames:
if os.path.exists(filename):
file_lines = read_numbers_from_file(filename)
lines.extend(file_lines)
for line in file_lines:
all_numbers.extend(line)
# Вычисление общего среднего
if not all_numbers:
average = 0
else:
average = sum(all_numbers) / len(all_numbers)
# Подсчет сумм чисел, меньших общего среднего
results = []
for line in lines:
line_sum = sum(num for num in line if num < average)
results.append(line_sum)
# Запись результатов в файл happiness.txt
with open('happiness.txt', 'w') as output_file:
for result in results:
output_file.write(f"{result}\n")
if __name__ == "__main__":
main()
Формат ввода
Вводятся имена нескольких файлов, в которых записаны строки с числами через пробел.
Формат вывода
В файл happiness.txt для каждой строки выведите сумму чисел, меньших общего среднего всех чисел всех файлов. Файлы рассматривать в алфавитном порядке имён.
# Содержимое потока stdin
first.txt
second.txt
third.txt
# Содержимое файла first.txt
13 49 33 23 39 50 19
71 8 74 68 92 25 21 41
11 19 41 63 41 45
# Содержимое файла second.txt
97 92 17 87 61 48 75 14
71 61 93
# Содержимое файла third.txt
62 0 43 41 42 56 15 25
69 87 32 9 22
127
95
157
31
0
166
63
# Содержимое потока stdin
forth.txt
fifth.txt
# Содержимое файла forth.txt
11 70 36 67 85 50 76
8 2 4
16 5 66 78 24
19 99 82 32 72 35
# Содержимое файла fifth.txt
27 99 17 34 95 59 27
87 15 39 97 85
105
54
47
14
45
86