我正在写下面的代码来计算学生的综合成绩来管理他们的成绩单,但是没有得到想要的输出,有人能帮我吗,谢谢!你知道吗
def transcript(coursedetails, studentdetails, grades):
studentdetails.sort()
coursedetails.sort()
grades.sort()
result=[(student,grade,coursedetail)
for student in studentdetails
for grade in grades for coursedetail in coursedetails
if((student[0]==grade[0])and(grade[1]==coursedetail[0]))]
print(result)
我的意见是--
transcript([("MA101","Calculus"),("PH101","Mechanics"),("HU101","English")],[("UGM2018001","Rohit Grewal"),("UGP2018132","Neha Talwar")],[("UGM2018001","MA101","AB"),("UGP2018132","PH101","B"),("UGM2018001","PH101","B")])
实际输出---
[(('UGM2018001', 'Rohit Grewal'), ('UGM2018001', 'MA101', 'AB'), ('MA101', 'Calculus')), (('UGM2018001', 'Rohit Grewal'), ('UGM2018001', 'PH101', 'B'), ('PH101', 'Mechanics')), (('UGP2018132', 'Neha Talwar'), ('UGP2018132', 'PH101', 'B'), ('PH101', 'Mechanics'))]
期望输出---
[('UGM2018001', 'Rohit Grewal', [('MA101', 'Calculus', 'AB'), ('PH101', 'Mechanics', 'B')]), ('UGP2018132', 'Neha Talwar', [('PH101', 'Mechanics', 'B')])]
您可以考虑将您的结构从元组列表更改为字典,因为这样可以更容易地操作信息。你知道吗
这将为您的成绩单返回一个字典字典,其中学生ID是返回包含学生姓名和成绩的字典的键。你知道吗
测试:
结果:
如果您仍然希望在上面描述的所需输出中包含这些信息,那么下面将根据需要创建一个元组列表。你知道吗
这可以通过^{} 实现:
结果
如果您真的需要一个元组列表,这很容易转换:
相关问题 更多 >
编程相关推荐