这是我在 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
语句。
答案 0 :(得分:1)
在 for
循环迭代之一中,if StudentRoster[i][0] == delInfo[0]:
失败