Python - добавить поиск, чтобы добавить в среднем - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь сгенерировать 50 строк случайных целых чисел в диапазоне от -20 до 20. Запишите эти числа в файл random_numbers.txt и добавьте файл, чтобы добавить в среднем эти 50 чисел. Мне удалось сгенерировать 50 чисел, но я не могу найти среднее. Это должно быть 0,28. Спасибо за помощь! Это то, что я до сих пор:

import random
fileh= open("random_numbers.txt", "w")
for num in range(50):
  num= str(random.randint(-20,20))
  fileh.write(num+str("\n"))
fileh.close()

fileh= open("random_numbers.txt", "a")
s = fileh.readlines()
total=0
for line in s:
  num1=0
  num1+= float(line)
  total += num1
  average = total / 50
fileh.write("Average is:", average)
fileh.close()

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вычислите total, пока вы записываете случайные числа. Не пытайтесь снова прочитать их из файла, к которому вы добавляете.

0 голосов
/ 02 ноября 2018

Проблема в том, где вы рассчитываете среднее

for line in s:
  num1=0
  num1+= float(line)
  total += num1
  average = total / 50    #this is inside a loop so you are writting it every time
fileh.write("Average is:", average)
fileh.close()

Если вы вычислите среднее значение внутри цикла, оно будет изменяться каждый раз, а затем вы будете использовать последнее вычисленное число.

Идентификация очень важна в Python.

попробуйте это:

for line in s:
  num1=0
  num1+= float(line)
  total += num1
average = total / 50 # No tab means it is outside the loop
fileh.write("Average is:", average)
fileh.close()
...