【发布时间】:2019-11-06 06:17:33
【问题描述】:
我有一个带有 id 名称和标记的数组。
我想计算总分并在下一个学生进来时执行操作。
我正在使用下面的代码,但我需要在完成操作后最终调用该方法。
有没有比这更好的方法而不在循环后调用方法。
student_id_name_marks = [
(1,"John",23),
(2,"Paul",30),
(2,"Paul",32),
(2,"Paul",40),
(3,"Doe",43),
(3,"Doe",42),
(4,"Jerry",45)
]
current_user_id = None
total_marks = None
for marks in student_id_name_marks:
if current_user_id == marks[0]:
total_marks += marks[2]
else:
if total_marks:
calculate_average(total_marks)
total_marks = marks[2]
current_user_id = marks[0]
if total_marks:
calculate_average(total_marks)
【问题讨论】:
-
您的问题听起来像dictionary,键是学生姓名和值是学生获得的成绩列表,这将是更自然的数据表示。您可以选择输入格式吗?