首页 > 解决方案 > 伪代码理解 Mauch 课

问题描述

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 书来学习,尽管一旦我开始使用伪代码,它就会有点令人困惑。有人可以解释我做错了什么吗?

标签: python-3.xpseudocode

解决方案


你只是在添加东西的顺序上有一些简单的语法问题,等等。每次循环时,将分数保持在循环中会将其重置为 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

推荐阅读