当我的 if 语句为真时,为什么 else 语句会运行?

时间:2021-07-23 01:40:30

标签: python python-3.x if-statement

这是我在 while 循环中的代码片段。当我运行这部分代码时,总是会打印 else 语句:

for i in range(len(StudentRoster)):
    if StudentRoster[i][0] == delInfo[0]:
        if StudentRoster[i][1] == delInfo[1]:
            del StudentRoster[i]
            print(StudentRoster)
    else:
        print("Student is not already added to the grading manager.")

完整代码:

def GradeManager():
    StudentRoster = []
    while True:
        command = input("$ ")
        if command[0:10] == "AddStudent":
            AddInput = command[11:]
            AddInput = AddInput.replace(" ", "")
            StudentInfo = AddInput.split(",")
            student = (StudentInfo[0], StudentInfo[1], StudentInfo[2], StudentInfo[3])
            StudentRoster.append(student)
            print (StudentRoster)
        elif command[0:13] == "DeleteStudent":
            print("yes")
            delStudent = command[14:]
            delStudent = delStudent.replace(" ", "")
            delInfo = delStudent.split(",")
            print (delInfo)
            for i in range(len(StudentRoster)):
                if StudentRoster[i][0] == delInfo[0]:
                    if StudentRoster[i][1] == delInfo[1]:
                        del StudentRoster[i]
                        print (StudentRoster)
                else:
                    print("Student is not already added to the grading manager.")
        else:
            print("Fail")

GradeManager()

这是我输入的输入:

$ AddStudent John, Doe, 78, 94
$ AddStudent Jean, Davis, 83, 76
$ AddStudent Aaron, Johnson, 67, 72
$ DeleteStudent Aaron, Johnson

DeleteStudent 之后,即使 else 在学生列表中,它也会打印出 Aaron Johnson 语句。

1 个答案:

答案 0 :(得分:1)

for 循环迭代之一中,if StudentRoster[i][0] == delInfo[0]: 失败