在Python中计算列表内容的最小值,最大值和平均值

时间:2016-02-22 05:31:09

标签: python list python-3.x statistics

因此,我正在处理的问题是“编写,调试和测试程序来计算和打印正测试分数列表的最小值,最大值和平均值。提示用户有多少分数是输入。预计每行将输入一个分数。提供每个分数的提示。“

所以这就是我现在所拥有的,但我仍然坚持寻找最小值,最大值和平均值。

def scores():
    print('we are starting')
    count = int(input('Enter amount of scores: '))
    print('Each will be entered one per line')
    scoreList = []
    for i in range(1, count+1):
            scoreList.append(int(input('Enter score: ')))
            print(scoreList)
    print(scoreList)
    print('thank you the results are:')
    mysum = sum(count)
    # mysum needs to be a float
    average = 1.0*mysum / n
    print ('Total: ', str(count))
    print ('Average: ', str(average))
    print ('Minimum: ', str(min(count)))
    print ('Maximum: ', str(max(count))) 
scores()

我不确定是否更容易做一个elif类型的声明,因为我说我对此很新,我仍然只是想了解这段代码中发生了什么。

接下来,我需要“扩展程序以按成绩表生成分数。对于每个等级[A,B,C,D,F],程序计算等级中的成绩数。程序打印按排名计算的表格,并提供每个等级中总成绩的百分比。“

排名如下:

A = 91 - 100   
B = 81 - 90   
C = 71 - 80   
D = 61 - 70    
F =  0 - 60

我会很感激一些帮助或一些意见。

2 个答案:

答案 0 :(得分:0)

你并不遥远,你的主要问题似乎是混淆你的变量,所以你在错误的时间引用了错误的东西。

例如,您不是要查找min max count(这是一个整数值),而是要查找min和{{ 1 {} max(这是一个列表,因此可以使用scoreListmin方法进行迭代。)

max的相同问题。代码的更正位将是:

sum

至于使用等级图表,这是一个单独的问题,通过单独发布以及一些代码来显示您尝试过的内容会更好。但是,mysum = sum(scoreList) # mysum needs to be a float average = 1.0*mysum / count print ('Total: ', str(mysum)) print ('Average: ', str(average)) print ('Minimum: ', str(min(scoreList))) print ('Maximum: ', str(max(scoreList))) 语句是一种有效的方法。

答案 1 :(得分:0)

这是我能想到的最诡计多端的方式,当然数学模块有所有这些哈哈!

def min(data):
    '''return min of itterable data
        '''
    minimum = data[0]
    for i in data:
        if i < minimum:
            minimum = i
    return minimum

def max(data):
    '''return max of itterable data
        '''
    maximum = data[0]
    for i in data:
        if i > maximum:
            maximum = i
    return maximum

def avg(data):
    '''
        return average of itterable data
    '''
    return sum(data)/len(data)

data = [1,2,1,3,6,4,5]
print (min(data), max(data), avg(data))