2014-02-20 4 views
-3

Я попросил создать скрипт для вычисления среднего класса, однако я не знаю, как это сделать.Как автоматически назначить ввод?

Ваш скрипт должен иметь возможность обрабатывать любое количество экзаменов. Если пользователь задает размер класса 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 
+0

Вы спрашиваете, как рассчитать среднее значение? – user590028

+0

Нет, это просто вычислить среднее значение, которое вводит желаемое пользователем количество студентов. – user3334912

+0

Это предложение не имело большого смысла. Я не пытаюсь быть грубым, я пытаюсь понять этот вопрос. – keyser

ответ

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 студентов.

+0

Спасибо, в этом есть много вещей, о которых я не знаю. Вот почему я импровизировал с присвоением алфавита – user3334912

0

Как это?

def size_class(class_size): 
    grades = [] 
    for num in range(class_size): 
     grades.append(raw_input('Student %d:' % num) 
    return grades 
Смежные вопросы