1

私はpythonを学んでいて、この質問に取り組んでいましたが、うまくいかないようです。このコードを実行すると、1 から 8 までの数字が別々の行に表示されます。どうすれば8のカウントを印刷できますか?

honor_roll_count = 0
student_grades = ["A", "C", "B", "B", "C", "A", "F", "B", "B", "B", "C", "A"]
for grade in student_grades:
    if grade in "AB":
        honor_roll_count = honor_roll_count + 1
        print honor_roll_count
4

4 に答える 4

2

あなたprintはインデントされています。つまりif、ループの内側にあるforため、「A」または「B」ごとに発生します。ループの後に必要です。

for grade in student_grades:
    if grade in "AB":
        honor_roll_count = honor_roll_count + 1
print honor_roll_count
于 2013-08-14T22:26:29.223 に答える
2

printステートメントを左に 2 インデント レベル移動します。

for grade in student_grades:
    if grade in "AB":
        honor_roll_count = honor_roll_count + 1
print honor_roll_count

ループの反復ごとではなく、ループが完了したに実行されるようになりました。

于 2013-08-14T22:26:57.160 に答える