快速的問題...我一直工作在一個小程序,將計算基於「家庭作業」的最終成績的百分比,「測驗」和「測試」用賺來的一起字母等級。這是一個我正在測試新事物的程序,我想知道如何在課堂上或課堂內使用所有這些內容?工作和退出的類別和功能
我已經想過保持功能性的東西,是和只使用一個類,基本打印出來的學生,最後的字母等級,和百分比的名字的一個不錯的字符串。即使是在課堂上進行簡單的打印,我也無法帶來外部數據。有任何想法嗎?
而且,反正是有讓用戶的輸入創建全新的空詞典? (也許如果可以創建多個字典,我可以創建一個函數或方法來計算班級的平均值) 我很感謝你的幫助。 謝謝!
student1 = {}
student = [student1]
def maker_d():
name = raw_input("Please enter the student's name: ")
student1['Name'] = name
homework = raw_input("Please enter all of the student's homework grades separated by a space: ")
homework = [float(i) for i in homework.split()]
student1['homework']= homework
quizzes = raw_input("Please enter all of the student's quiz scores separated by a space: ")
quizzes = [float(i) for i in quizzes.split()]
student1['quizzes'] = quizzes
tests = raw_input("Please enter all of the student's test scores separated by a space: ")
tests = [float(i) for i in tests.split()]
student1['tests'] = tests
def average(student):
return sum(student)/len(student)
def get_average(student):
h = average(student['homework'])
q = average(student['quizzes'])
t = average(student['tests'])
total_average = (h * 0.1) + (q * 0.3) + (t * 0.6) #designates homework as 10%, quizzes as 30% and tests as 60% of final grade average
return total_average
def get_letter_grade(score):
if score >= 90:
return "A"
elif 80<= score <90:
return "B"
elif 70 <= score < 80:
return "C"
elif 60 <= score < 70:
return "D"
else:
return "F"
def get_class_average(student):
total = 0
for each in student:
total += get_average(each)
return total/len(student)
return get_class_average(get_average[student])
class FinalGradePrinter(object):
def __init__(self,name):
self.name = name
def __str__(self,name):
print "% ',' your final grade is a %s based on your overall percentage of %f" % (self.name)
def main():
maker_d()
print get_class_average(student)
print get_letter_grade(get_class_average(student))
if __name__ == '__main__':
main()