Написать программу на Python
1) Ввести файл F. К элементам файла не кратным трём прибавить остаток от деления этого числа на три. Файл вывести до и после преобразования
2) Ввести два файла f1 и f2, вывести их. Сформировать из четных компонент файлов квадратные матрицы максимально возможного размера, соответственно, a1 и a2 . Файлы и матрицы вывести.
Ответы
Ответ:Програма для обробки файлу F:
def process_file(file_name):
# Відкриваємо файл для читання
with open(file_name, 'r') as file:
numbers = file.readlines() # Зчитуємо всі числа з файлу
print("Файл до преобразования:")
print(numbers)
# Відкриваємо файл для запису
with open(file_name, 'w') as file:
for number in numbers:
number = int(number)
if number % 3 != 0:
number += number % 3
file.write(str(number) + '\n')
# Відкриваємо файл знову для читання та виводимо його після преобразовання
with open(file_name, 'r') as file:
new_numbers = file.readlines()
print("Файл після преобразования:")
print(new_numbers)
# Виклик функції для обробки файлу F
file_name = input("Введіть назву файлу F: ")
process_file(file_name)
Програма для обробки файлів f1 і f2 та формування матриць a1 і a2:
def process_files(file1, file2):
# Відкриваємо файл f1 для читання
with open(file1, 'r') as f1:
numbers1 = f1.readlines()
# Відкриваємо файл f2 для читання
with open(file2, 'r') as f2:
numbers2 = f2.readlines()
print("Файл f1:")
print(numbers1)
print("Файл f2:")
print(numbers2)
# Формуємо матрицю a1 з четних чисел з файлу f1
even_numbers1 = [int(num) for num in numbers1 if int(num) % 2 == 0]
size1 = int(len(even_numbers1) ** 0.5) # Розмір квадратної матриці
a1 = [even_numbers1[i:i + size1] for i in range(0, len(even_numbers1), size1)]
# Формуємо матрицю a2 з четних чисел з файлу f2
even_numbers2 = [int(num) for num in numbers2 if int(num) % 2 == 0]
size2 = int(len(even_numbers2) ** 0.5) # Розмір квадратної матриці
a2 = [even_numbers2[i:i + size2] for i in range(0, len(even_numbers2), size2)]
print("Матриця a1:")
for row in a1:
print(row)
print("Матриця a2:")
for row in a2:
print(row)
# В
Объяснение: