Python Script to calculate averages


 
Thread Tools Search this Thread
Top Forums Programming Python Script to calculate averages
# 1  
Old 04-25-2010
Python Script to calculate averages

I'm fairly new to python so bare with me. I'm trying to write a script that would calculate my class average from exams. The script will look at a text file formatted like this:

Calculus 95 90 92
Physics 80 85 92
History 90 82 83 95

The output should look like this:

Calculus 92.33
Physics 85.66
History 87.5

I have the following code:

Code:
#!/usr/bin/python
import math

f = open('exams',"r")

l = f.readline()
while l :
 l = l.split(None,10)
 L = l[1:]
 print l[:1]
 print L
 print 'Number of Values ', len(L)
 l = f.readline()

The code above pretty much takes each row and turns it into an array. The L variable determines how many grades are in (doesn't look for the subject). I planned on summing the grades and dividing by 'L.' Another problem is that when the text is in the array, it's handled as a string and not as integers/floats.

Anyone have any suggestions?
# 2  
Old 05-06-2010
does this do what you want?

Code:
#!/usr/bin/python
import math

f = open('exams.txt','r')
total = []

while True :
    try:
        l = f.readline().split(None,10)
        L = float(''.join(l[1:]))
        print l[:1], L
        total.append(L)
    except ValueError:
        average = sum(total)/len(total)
        print 'Average is: ', average
        break

# 3  
Old 05-07-2010
Another solution:

Code:
f = open("exams","r")

l = f.readline()
while l:
    l = l.split(" ")
    values = l[1:]
    
    sum = 0.0
    for v in values:
        sum += float(v)
    
    print "%s %f" % (l[0] , sum / len(values))
    
    l = f.readline()
    
f.close()

And the output:
Code:
Calculus 92.333333
Physics 85.666667
History 87.500000

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Windows & DOS: Issues & Discussions

How to execute python script on remote with python way..?

Hi all, I am trying to run below python code for connecting remote windows machine from unix to run an python file exist on that remote windows machine.. Below is the code I am trying: #!/usr/bin/env python import wmi c = wmi.WMI("xxxxx", user="xxxx", password="xxxxxxx")... (1 Reply)
Discussion started by: onenessboy
1 Replies

2. Shell Programming and Scripting

Awk- Pivot Table Averages

Hi everyone, Has anyone figured out yet how to do pivot table averages using AWK. I didn't see anything with regards to doing averages. For example, suppose you have the following table with various individuals and their scores in round1 and round2: SAMPLE SCORE1 SCORE2 British ... (6 Replies)
Discussion started by: Geneanalyst
6 Replies

3. How to Post in the The UNIX and Linux Forums

Daily averages...

I have date file like below.. 1995 1 2 10 29 38.6706 -6.53823 41.9201 1995 1 2 10 29 -49.2477 -4.59733 17.2704 1995 1 2 10 29 -49.2369 -4.48045 8.61348 1995 1 3 8 48 -42.2643 ... (3 Replies)
Discussion started by: athithi
3 Replies

4. Shell Programming and Scripting

Shell script to calculate the max cpu usage from the main script

Hi All, I have a script which does report the cpu usuage, there are few output parameter/fields displayed from the script. My problem is I have monitor the output and decide which cpu number (column 2) has maximum value (column 6). Since the output is displayed/updated every seconds, it's very... (1 Reply)
Discussion started by: Optimus81
1 Replies

5. Solaris

Sparc Solaris 10 load averages

our server is running oracle database, it has: load average: 1.77, 1.76, 1.73 using only one cpu. is that too high? thanks. (4 Replies)
Discussion started by: orange47
4 Replies

6. Solaris

SAR averages question

Hi all Bit of a silly question, but if I run sar to get the CPU stats (something like this): sar -u 300 1 The figures that are returned, is it in the above case the average over 300 seconds, or does it just wait for 300 seconds before obtaining the readings? (1 Reply)
Discussion started by: kinetik
1 Replies

7. Shell Programming and Scripting

Moving Averages SMA !

Hello, I am trying to create a awk script to calculate the simple moving average of two fields but I got only the result of the first field. Could you please help me to fix this awk shell script awk -F, -v points=5 ' { a = $2; b = $3; if(NR>=points) { total_a = 0; total_b... (1 Reply)
Discussion started by: csierra
1 Replies

8. Shell Programming and Scripting

Calculate Averages !

Hi, I have a file with more than 2,000 rows like this: 05/26/2011,1200,1500 I would like to create a awk shell script that calculate the price average of the second and third field each 5,10 and 20 rows or ask me for the values, starting at first row. Finally compare the average value... (1 Reply)
Discussion started by: csierra
1 Replies

9. Shell Programming and Scripting

Calculate age of a file | calculate time difference

Hello, I'm trying to create a shell script (#!/bin/sh) which should tell me the age of a file in minutes... I have a process, which delivers me all 15 minutes a new file and I want to have a monitoring script, which sends me an email, if the present file is older than 20 minutes. To do... (10 Replies)
Discussion started by: worm
10 Replies
Login or Register to Ask a Question