(i<len(self.students) 我无法理解啊?它不应该是学生的编号吗?求大神解释一下

  1. ```class Student:
    def init(self,No,Name,Gender,Age):
    self.No=No
    self.Name=Name
    self.Gender=Gender
    self.Age=Age

    def show(self):
    print("%-16s %-16s %-8s %-4d" %(self.No,self.Name,self.Gender,self.Age))

    class StudentList:
    def init(self):
    self.students = []
    def show(self):
    print("%-16s %-16s %-8s %-4s" % ("No","Name","Gender","Age"))
    for s in self.students:
    s.show()
    def __insert(self,s):
    i = 0
    while (i < len(self.students) and s.No > self.students[i].No):
    i = i + 1
    if (i < len(self.students) and s.No == self.students[i].No):
    print(s.No + " 已经存在")
    return False
    self.students.insert(i,s)
    print("增加成功")
    return True

if (i < len(self.students) and s.No == self.students[i].No):
首先判断i是否超过下标了(这个不涉及编号,判断的是数组长度),然后判断当前这个元素和你要查找的是否相同。