您好我是python的新手,想知道我的程序失败的原因以及为什么...谢谢,基本编码如下,
grade = 0
total = 0
scorecount = 0
while grade >=0:
grade = raw_input("enter grade ->")
grade = int(grade)
total = total + grade
total = int(total)
scorecount = scorecount + 1
scorecount= int(scorecount)
average = total/scorecount
print average
答案 0 :(得分:0)
使用列表来管理这样的事情会更聪明。
grades = []
while True:
grade = int(raw_input('Enter a grade: '))
if grade < 0:
break
grades.append(grade)
print '\nAverage:', float(sum(grades)) / len(grades)
有更好的方法让用户打破循环而不是输入负等级,但是你去了。
答案 1 :(得分:0)
您在更改后检查-1,因此您应该检查原始等级是否正确,并在处理之前从循环中断开。
答案 2 :(得分:0)
您接受成绩,然后将其添加到平均值,即使它是-1 ,因为在循环重新开始之前您不会检查-1
。
要中途退出循环,请使用break
。然后,你可以写
while True: # loop 'forever' until break
grade = raw_input("enter grade ->")
grade = int(grade)
if grade == -1:
break # we're done
# rest of processing...