# Read in a bunch of quiz scores (out of 10)
# compute the mean, and the letter grade of the mean
# then Print out the mean grade and the letter grade.

# This function computes the mean of a list of numbers.
# From page 9 on the python hand out.
def mean(number_list):
    if len(number_list) < 1:
	return 0
    sum = 0.0
    for x in number_list:
	sum = sum + x
    return sum/len(number_list)

# This function reads in a list of numbers length size, with values
# between min_value and max_value
def read_list_between(size,min_value,max_value):
    return_list=[]
    input_string="Please input a number between "+str(min_value)+" and "
    input_string= input_string + str(max_value) +" : "
    while len(return_list) < size:
	number = input(input_string)
	if number < min_value or number > max_value:
	    print number, "is not between",min_value,"and","max_value"
	else:
	    return_list.append(number)
    return return_list


# A function to return a letter grade given a number between 0 and 1
def letter_grade(grade):
    if grade >= .9:
	return "A"
    elif grade >= .8:
	return "B"
    elif grade >= .7:
	return "C"
    elif grade >= .6:
	return "D"
    else:
	return "F"


# Main program

num_quizzes = input("Please enter the number of quiz scores: ")
quiz_grades = read_list_between(num_quizzes,0,10)
quiz_mean = mean(quiz_grades)
letter=letter_grade(quiz_mean/10)
print "The mean of the quizzes is", quiz_mean, "for a letter grade of", letter
Published in: Python
Download

Related snippets