如何自动分配输入?

时间:2014-02-20 22:49:19

标签: python

我被要求创建一个脚本来计算平均成绩,但我不知道如何做到这一点。

  

您的脚本应该能够处理任意数量的考试成绩。如果用户将类大小指定为n,那么您的脚本应该提示正好n个考试分数。

应该显示这个

What is the size of the class?  5
Now enter the scores below.
Student 1: 79
Student 2: 87
Student 3: 67
Student 4: 96
Student 5: 83
The average is 82.4.

这个脚本有效,但它不干净,不会通过字母表。并且导致实际平均部分出现问题。

class_size = input('What is the class size: ')
alphabet = 'abcdefghijklmnopqrstuvwxyz'
student = {}

def size_class(class_size):
    while class_size != 0:
        assign = alphabet[class_size]
        student[assign] = input('Student: ')
        class_size = class_size - 1

size_class(class_size)

print student['b'] + 1

2 个答案:

答案 0 :(得分:0)

这是怎么回事?

def size_class(class_size):
    grades = []
    for num in range(class_size):
        grades.append(raw_input('Student %d:' % num)
    return grades

答案 1 :(得分:0)

列表可能是比字典更好的结构:

scores = []
for n in range(class_size):
    scores.append(int(raw_input("Student {0}: ".format(n+1))))
average = sum(scores) / float(len(scores))

我不确定您为什么要使用字母表,但它会限制您为26名学生。

相关问题