0

こんにちは、私は 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
4

3 に答える 3

0

変更後の-1のチェックは、生のグレードがそれであることを確認し、処理する前にループから抜け出す必要があります。

于 2012-09-25T02:14:07.300 に答える
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)

負の成績を入力するよりも、ユーザーにループを中断させるより良い方法がありますが、それで終わりです。

于 2012-09-25T02:08:37.337 に答える
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...
于 2012-09-25T02:16:47.767 に答える