下面是问题陈述:
有“n”个学生的记录,每个记录都有学生的名字、数学、物理和化学的百分比分数。用户输入一个整数“n”,后跟“n”学生的姓名和标记。我必须将记录保存为字典数据类型。然后,用户输入一个学生的姓名,您需要打印该学生获得的平均百分比分数,精确到小数点后两位。
到目前为止我所做的:num_students = int(raw_input("Please enter number of students:"))
print "you entered %s students" %num_students
student_info = {}
student_data = ['studentname', 'mathmarks', 'physicsmarks', 'chemistrymarks']
for i in range(0,num_students):
for entry in student_data:
student_info[entry] = raw_input(entry )
print student_info
print"please enter student name"
name = raw_input("student name")
if student_info['studentname'] == name:
print "Average student marks:", (int(student_info['mathmarks']) + int(student_info['physicsmarks']) + int(student_info['chemistrymarks']))/3
else:
print"please enter valid name"
此代码在num_students=1时有效,但如果num_students>;1,则代码失败。
我无法把每个学生的词条都存进字典里。
我对python很陌生,如果有人能帮我做这个我会很高兴的。