Я пытаюсь решить код python для чтения текстового файла, затем выберите какой-либо подобный текст, затем заберите с них числа с плавающей точкой и подсчитайте их среднее значение, , не используя функцию SUM.средние вычисления без использования функции sum в python?
, но у меня есть столбец из списка среднего числа с его номерами до номеров! и последний - мой ответ, но я не могу выбрать последний символ, поскольку python смотрит на него как на одно столбчатое странное число!
это мой код:
count = 0
total = 0
while True:
inp = raw_input ("Enter file name: ")
if inp == 'myfile.txt' : break
fh = open(inp)
for line in fh:
line = line.rstrip()
if line.startswith("my_pattern") :
count = count + 1
sb = line.split()
sc = sb[1] # this gaves me the numbers only from eavh line #
value = float(sc)
total = total + value
average = total/count
print average
ответ:
0.8475 (*this is exactly the first number, I mean it is the average of just one number, Itself !*)
0.73265 (*this is the average of two numbers, the second number and the number 0.8475*)
0.728447368421
0.727035
0.728385714286
0.726895454545
0.725547826087
0.7268
0.737112 (this is the answer, but I do not want a column of numbers and by the way, I could not split just this number)
Тот факт, что вы печатаете среднее значение * точно такое же количество раз, сколько есть строки * должны дать вам большой намек на то, что происходит. Посмотрите внимательно на отступы вашей строки 'print average'; как вы думаете, что произойдет, если вы не указали этот уровень? –
это говорит: имя «среднее» не определено! – Farbod
Вам нужно выставить его за пределами цикла 'for' и добавить' average = 0' перед циклом, чтобы учесть, что в вашем файле нет соответствующих строк. –