Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python помогите решить задачу пожалуйста

Галина Жаркова Ученик (94), открыт 3 дня назад
2 ответа
ФермаКактусов Высший разум (212761) 3 дня назад
 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')
ФермаКактусовВысший разум (212761) 3 дня назад
 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)
ФермаКактусовВысший разум (212761) 3 дня назад
       # Запись отсортированных чисел в выходной файл  
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')
ФермаКактусовВысший разум (212761) 3 дня назад
 def filter_high_scorers(input_file, output_file, threshold=80): 
try:
# Чтение данных из входного файла
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()


ФермаКактусовВысший разум (212761) 3 дня назад
         # Фильтрация тех, кто набрал больше заданного порога баллов  
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}")

ФермаКактусовВысший разум (212761) 3 дня назад
     except FileNotFoundError:   
print(f"Файл {input_file} не найден.")
except Exception as e:
print(f"Произошла ошибка: {e}")

# Пример использования
filter_high_scorers('exam_results.txt', 'high_scorers.txt')
ФермаКактусовВысший разум (212761) 3 дня назад
 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]}") # Сокращение имени до одной буквы и перенос перед фамилией
ФермаКактусовВысший разум (212761) 3 дня назад
  
# Запись результатов в выходной файл с нумерацией
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')
ФермаКактусовВысший разум (212761) 3 дня назад
 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))

ФермаКактусовВысший разум (212761) 3 дня назад
         # Сортировка по убыванию баллов  
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')
Похожие вопросы