def calculate_average(input_file, output_file):
try:
# Чтение чисел из входного файла
with open(input_file, 'r') as file:
numbers = [float(line.strip()) for line in file if line.strip().isdigit()]
# Проверка наличия чисел в файле
if not numbers:
raise ValueError("No valid numbers found in the input file.")
# Вычисление среднего арифметического
average = sum(numbers) / len(numbers)
# Запись результата в выходной файл
with open(output_file, 'w') as file:
file.write(f"Среднее арифметическое: {average}\n")
print(f"Результат успешно записан в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except ValueError as ve:
print(ve)
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
calculate_average('input.txt', 'output.txt')
def find_max_min_even_numbers(input_file, output_file):
try:
# Чтение чисел из входного файла
with open(input_file, 'r') as file:
numbers = [int(line.strip()) for line in file if line.strip().isdigit()]
# Фильтрация чётных положительных чисел
even_numbers = [num for num in numbers if num > 0 and num % 2 == 0]
# Проверка наличия чётных положительных чисел
if not even_numbers:
raise ValueError("No even positive numbers found in the input file.")
# Нахождение максимального и минимального значений
max_even = max(even_numbers)
min_even = min(even_numbers)
# Запись результатов в выходной файл
with open(output_file, 'w') as file:
file.write(f"Максимальное чётное положительное число: {max_even}\n")
file.write(f"Минимальное чётное положительное число: {min_even}\n")
print(f"Результаты успешно записаны в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except ValueError as ve:
print(ve)
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
find_max_min_even_numbers('input.txt', 'output.txt')
def sum_of_digits(number):
return sum(int(digit) for digit in str(abs(number)))
def sort_by_sum_of_digits(input_file, output_file):
try:
# Чтение чисел из входного файла
with open(input_file, 'r') as file:
numbers = [int(line.strip()) for line in file if line.strip().isdigit()]
# Сортировка чисел по возрастанию суммы их цифр
sorted_numbers = sorted(numbers, key=sum_of_digits)
# Запись отсортированных чисел в выходной файл
with open(output_file, 'w') as file:
for number in sorted_numbers:
file.write(f"{number}\n")
print(f"Числа успешно отсортированы и записаны в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except ValueError as ve:
print(ve)
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
sort_by_sum_of_digits('input.txt', 'sorted_output.txt')
def filter_high_scorers(input_file, output_file, threshold=80):
try:
# Чтение данных из входного файла
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
# Фильтрация тех, кто набрал больше заданного порога баллов
high_scorers = []
for line in lines:
parts = line.strip().split()
if len(parts) == 3 and parts[2].isdigit():
score = int(parts[2])
if score > threshold: # Условие проверки на больше 80 баллов
high_scorers.append(f"{parts[0]} {parts[1]}")
# Запись результатов в выходной файл
with open(output_file, 'w', encoding='utf-8') as file:
for scorer in high_scorers:
file.write(f"{scorer}\n")
print(f"Результаты успешно записаны в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
filter_high_scorers('exam_results.txt', 'high_scorers.txt')
def filter_high_scorers(input_file, output_file, threshold=80):
try:
# Чтение данных из входного файла
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
# Фильтрация тех, кто набрал больше заданного порога баллов
high_scorers = []
for line in lines:
parts = line.strip().split()
if len(parts) == 3 and parts[2].isdigit():
score = int(parts[2])
if score > threshold: # Условие проверки на больше 80 баллов
high_scorers.append(f"{parts[1][0]}. {parts[0]}") # Сокращение имени до одной буквы и перенос перед фамилией
# Запись результатов в выходной файл с нумерацией
with open(output_file, 'w', encoding='utf-8') as file:
for idx, scorer in enumerate(high_scorers, start=1):
file.write(f"{idx}. {scorer}\n")
print(f"Результаты успешно записаны в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
filter_high_scorers('exam_results.txt', 'high_scorers.txt')
def filter_and_sort_high_scorers(input_file, output_file, threshold=80):
try:
# Чтение данных из входного файла
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
# Фильтрация тех, кто набрал больше заданного порога баллов и добавление баллов в конец строки
high_scorers = []
for line in lines:
parts = line.strip().split()
if len(parts) == 3 and parts[2].isdigit():
score = int(parts[2])
if score > threshold: # Условие проверки на больше 80 баллов
high_scorers.append((f"{parts[1][0]}. {parts[0]}", score))
# Сортировка по убыванию баллов
sorted_scorers = sorted(high_scorers, key=lambda x: x[1], reverse=True)
# Запись результатов в выходной файл с нумерацией и баллами
with open(output_file, 'w', encoding='utf-8') as file:
for idx, (name, score) in enumerate(sorted_scorers, start=1):
file.write(f"{idx}. {name} {score}\n")
print(f"Результаты успешно записаны в {output_file}")
except FileNotFoundError:
print(f"Файл {input_file} не найден.")
except Exception as e:
print(f"Произошла ошибка: {e}")
# Пример использования
filter_and_sort_high_scorers('exam_results.txt', 'sorted_high_scorers.txt')