任务:
每个学生记录用tuple
表示,它由学生的入学编号和姓名组成。在
示例:('B0094358N', 'Shao Hong')
编写一个函数get_student_name
,当学生的入学编号和学生记录作为参数传入函数时,返回学生的姓名。如果矩阵号与数据库中的任何记录不匹配,则应返回字符串'Not found'
。在
get_student_name('B2245467C', student_records)
'Yang Shun'
请帮我检查代码:
def get_student_name(matric_num, records):
l = student_records
for i in l:
if matric_num == i[0]:
return (i[1])
elif matric_num != i[0]:
continue
if matric_num not in l:
return ('Not found')
我知道硬编码的错误,但我不知道为什么。在
试试这个简化版。您不需要else条件或
continue
,因为循环将在第一个匹配时返回。在现在还不清楚你的学生档案结构如何。从您的代码中推测,它看起来像是一个元组列表,所以这就是我们的假设。在
我想问题出在for循环之后的if条件。如果您返回for loop而没有返回,这意味着matric_num在您的学生记录中不存在。所以你可以试试这个-
或者,再多一点Python-
^{pr2}$相关问题 更多 >
编程相关推荐