【发布时间】:2013-10-01 22:36:51
【问题描述】:
我正在创建一个程序,该程序接受输入分数,将它们添加到列表中,并使用 for 循环将它们加在一起显示总分。虽然遇到一些问题。请检查一下..
scoreList = []
count = 0
score = 0
sum = 0
while score != 999:
score = float(input("enter a score or enter 999 to finish: "))
if score > 0 and score < 100:
scoreList.append(score)
elif (score <0 or score > 100) and score != 999:
print("This score is invalid, Enter 0-100")
else:
for number in scoreList:
sum = sum + scoreList
print (sum)
【问题讨论】:
-
忽略该计数变量,此时它无用
-
“遇到一些问题”是什么意思?它会引发异常吗?给你某组输入的错误结果?还是什么?
-
你可以只使用
sum()内置,你用你的本地sum变量遮蔽它.. -
你的程序不应该接受 0 或 100 的分数吗?因为现在按照你的条件设置方式,你的程序会忽略它们。
-
作为旁注,
while上的else在这里真的没有必要。因为没有break,所以保证您每次都会点击它。如果您试图跳过用户没有给出任何分数的情况(通过在第一个提示符上输入999),那么没有充分的理由这样做;如果scoreList是[],for number in scoreList:是完全合法的,并且不会成功循环并且什么都不做。