Help with cumulative sum
Maggie
la.foma at gmail.com
Tue Sep 8 16:23:43 EDT 2009
On Sep 8, 4:17 pm, MRAB <pyt... at mrabarnett.plus.com> wrote:
> Maggie wrote:
> > On Sep 8, 3:29 pm, Maggie <la.f... at gmail.com> wrote:
> >> Building on the code that I posted in one of the previous posts.. I
> >> need to find a cumulative sum of the file of the times in the test
> >> file:
>> >> here is the code i have:
>> >> #!/usr/bin/python
>> >> import os.path
>> >> #name of output file
> >> filename = "OUTPUT.txt"
>> >> #open the file
> >> test = open ("test.txt", "rU")
>> >> #read in all the data into a list
> >> readData = test.readlines()
>> >> count = 0
>> >> FILE = open(filename, "w")
>> >> for item in readData:
>> >> count = count + 1
> >> tmp_string = str(count) + ' ' + item
> >> print >> FILE, tmp_string,
>> >> else:
> >> print 'The loop is finito'
>> >> -----
>> >> my test file is this
>> >> 23
> >> 241
> >> 34234
> >> 83
> >> 123
>> >> and I need to find a CUMULATIVE sum (or the running sum)...what would
> >> be the best way to go about that given the code i already have?
>> >> thank you all!
>> > ---
>> > was trying to plug in the sum for the loop..but for some reason it
> > doesnt want to work --
>> Read the traceback.
>>>> > #!/usr/bin/python
>> > import os.path
>> > #name of output file
> > filename = "OUTPUT.txt"
>> > #open the file
> > formisano = open ("test.txt", "rU")
>> > #read in all the data into a list
> > readData = formisano.readlines()
>> > sum = 0
>> Try to avoid using the names of builtin functions and classes, in this
> case 'sum'.
>> > count = 0
>> > FILE = open(filename, "w")
>> > for item in readData:
>> > count = count + 1
> > sum = sum + (int(item) * int(item))
> > tmp_string = str(count) + ' ' + item + ' '+ sum
>> You can't add a number to a string; a number is a number and a string is
> a string! :-)
>> tmp_string = str(count) + ' ' + item + ' '+ str(sum)
>> > print >> FILE, tmp_string,
>> > else:
> > print 'The loop is finito'
>>
I saw my mistake...now it is telling me the following --
Traceback (most recent call last):
File "formisano_count.py", line 22, in <module>
running_sum = running_sum + (int(item) * int(item))
ValueError: invalid literal for int() with base 10: ''
..
not sure what exactly i am doing wrong!
More information about the Python-list
mailing list