Задание по программированию на Python: я не понимаю, как исправить ошибкуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Задание по программированию на Python: я не понимаю, как исправить ошибку

Сообщение Anonymous »

Присвоение: Предположим, что файл Numbers.txt содержит серию чисел. Напишите программу, которая вычисляет среднее значение всех отрицательных чисел и среднее значение всех положительных чисел, а затем выводит оба значения на экран. Если чисел нет (т. е. нет отрицательных и/или положительных чисел), вместо этого выведите NaN.
Выведите только средние значения, сначала отрицательные, а затем положительные, без форматирования.
Мой код:

Код: Выделить всё

def calculate_averages(file_name):
negatives = []
positives = []

with open(file_name, 'r') as file:
for line in file:
try:
num = float(line.strip())
if num < 0:
negatives.append(num)
elif num > 0:
positives.append(num)
except ValueError:
continue  # Skip lines that are not valid numbers

# Calculate the averages
neg_avg = sum(negatives) / len(negatives) if negatives else float('NaN')
pos_avg = sum(positives) / len(positives) if positives else float('NaN')

# Print the averages
print(neg_avg)
print(pos_avg)

calculate_averages('numbers.txt')
Сообщение об ошибке от «Pearson»: ожидалось, что строка 1 вывода будет NaN, но это было nan.
Я не понимаю, почему я ошибаюсь и как это исправить! Любая помощь и советы очень ценятся, спасибо!

Подробнее здесь: https://stackoverflow.com/questions/791 ... -the-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»