伪代码理解莫赫课

pseudocode understanding Mauch lesson

display user message
WHILE TRUE
get score
if score is from 0 to 100
add score to score total
add 1 to number of scores
elseif score i 999
end loop
else print error message
calculate average score
display results

------------------------------------我是这样写的---- ------

#welcome message
print("thank us for testing")
print ("enter 999 to top running")
print ("*"* 20)

while True:
    score = int(input("Enter grad score: "))
    scores = 0 

    if score >=0 and score <=100:
        score += scoreTotal
        scores += 1

    elif score == 999:
        break
    else:
        print("error message")
averageScore = scoreTotal / score.

我正在尝试使用这本 Mauch 的书来学习,尽管一旦我开始使用伪代码就会有点困惑。有人可以解释我做错了什么吗?

您只是在添加内容的顺序等方面存在一些简单的语法问题。每次循环时将分数保持在循环中会将其重置为 0,我认为这不是您想要的。另外,确保在循环结束时检查除以零。都可以在下面看到:

#welcome message
print("thank us for testing")
print ("enter 999 to top running")
print ("*"* 20)

scoreTotal = 0
scores = 0 #moved out of the loop to maintain value

while True:
    score = int(input("Enter grad score: ")) 

    if score >=0 and score <=100:
        scoreTotal += score #equivalent to scoreTotal = scoreTotal + score
        scores += 1

    elif score == 999:
        break
    else:
        print("error message")
#check for division by zero error
if scores > 0:
    averageScore = scoreTotal / scores
else:
    averageScore = 0