簡體   English   中英

當我的 if 語句為真時,為什么 else 語句會運行?

[英]Why does the else statement run when my if statement is true?

這是我在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之后,即使Aaron Johnson在學生名單上,它也會打印出else語句。

for循環迭代之一中, if StudentRoster[i][0] == delInfo[0]: has failed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM