Haseeb Ahmed
Haseeb Ahmed

Reputation: 3

it keeps on outputting"Fail" when it should actually output a grade

test_1 = int(input("Please enter the score for test 1  /100:"))
test_2 = int(input("Please enter the score for test 2  /100:"))
test_3 = int(input("Please enter the score for test 3  /100:"))
test_4 = int(input("Please enter the score for test 4  /100:"))
test_5 = int(input("Please enter the score for test 5  /100:"))

total = test_1 + test_2 + test_3 + test_4 + test_5
average = total/5

print ("The total score is", total)
print ("The average score is", average)

if average < 90 and average >= 100:
    print ("Grade 9 achieved")
elif average < 80 and average >= 90:
    print ("Grade 8 achieved")
elif average < 70 and average >= 80:
    print ("Grade 7 achieved")
elif average < 60 and average >= 70:
    print ("Grade 6 achieved")
elif average < 50 and average >= 60:
    print ("Grade 5 achieved")
elif average < 40 and average >= 50:
    print ("Grade 4 achieved")
elif average < 30 and average >= 40:
    print ("Grade 3 achieved")
elif average < 20 and average >= 30:
    print ("Grade 2 achieved")
elif average < 10 and average >= 20:
    print ("Grade 1 achieved")
else:
    print ("Fail")

My code works perfectly fine except from the fact that every time it runs, it outputs Fail even if the average score is above 10.

Upvotes: 0

Views: 21

Answers (1)

quamrana
quamrana

Reputation: 39404

Your chain of ifs should be changed to: 1. Be logically correct. 2. Take advantage of previous ifs.

if average >= 90:
    print ("Grade 9 achieved")
elif average >= 80:
    print ("Grade 8 achieved")
elif average >= 70:
    print ("Grade 7 achieved")
elif average >= 60:
    print ("Grade 6 achieved")
elif average >= 50:
    print ("Grade 5 achieved")
elif average >= 40:
    print ("Grade 4 achieved")
elif average >= 30:
    print ("Grade 3 achieved")
elif average >= 20:
    print ("Grade 2 achieved")
elif average >= 10:
    print ("Grade 1 achieved")
else:
    print ("Fail")

Upvotes: 1

Related Questions