for循环中的Python While循环只运行一次为什么?

2024-09-30 01:27:05 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,这是我第一次在这里发帖。我是软件开发新手。好几天来我一直被这个问题困扰着。我无法使while循环在for循环中再次运行。我通常需要两个循环。一个是当人们回答QQI5时,另一个是当答案是QQI6但不是运气时。所以这里我只尝试一个for循环。还有里面的while循环。任何帮助都将不胜感激

studentName = input("Enter Your Name: ")
courseName = input("Enter Course Name: ")
courseLevel = int(input("Enter QQI Level 5 or 6: "))

# Sets variable Data

positiveNumber = True
assignmentsCount = 0
assignmentsTotal = 0


if courseLevel == 6:
    for i in range(3):
        component = input("Enter Component's Name")

        while positiveNumber:
            assignmentToAdd = float(input("Enter assignment score or press -1 to Finish "))
            if assignmentToAdd >= 0:
                assignmentsTotal += assignmentToAdd
                assigmentsCount = +1
            if assignmentToAdd ==100:
                positiveNumber = False
            else:
                positiveNumber = False
        if assignmentsTotal < 50:
            print(assignmentsTotal, "Unsuccessful")
        elif assignmentsTotal >= 50 or assignmentsTotal <65:
            print(assignmentsTotal, "Pass")
        elif assignmentsTotal >= 65 or assignmentsTotal < 80:
            print(assignmentsTotal, "Merit")
        else:
             if assignmentsTotal >= 80:
                print(assignmentsTotal, "Distinction")

Tags: ornamefalseforinputifelseprint
2条回答

当您输入while looppositiveNumber仅为True,因为在while循环结束时,您的代码显示:

        if assignmentToAdd ==100:
            positiveNumber = False
        else:
            positiveNumber = False

因此,无论assignmentToAdd是什么,在while循环的下一次迭代检查中,positiveNumberFalse,因此while循环将退出

因为这部分代码

            if assignmentToAdd ==100:
                positiveNumber = False
            else:
                positiveNumber = False

这意味着在任何情况下,将False分配给positiveNumber

相关问题 更多 >

    热门问题