This exercise combines an elif chain with boundary conditions.
grade_letter with one parameter, score (0 to 100)."A""B""C""D""F"grade_letter(91) returns "A". grade_letter(90) also returns "A". grade_letter(89) returns "B".
Run your code to see the output, then press Submit.
elif only sees scores the earlier checks rejected.>= 90 vs > 90 deliberately.import unittest
class TestGradeLetter(unittest.TestCase):
def test_95_is_an_a(self):
self.assertEqual(grade_letter(95), "A")
def test_exactly_90_is_an_a(self):
self.assertEqual(grade_letter(90), "A")
def test_89_is_a_b(self):
self.assertEqual(grade_letter(89), "B")
def test_exactly_80_is_a_b(self):
self.assertEqual(grade_letter(80), "B")
def test_72_is_a_c(self):
self.assertEqual(grade_letter(72), "C")
def test_65_is_a_d(self):
self.assertEqual(grade_letter(65), "D")
def test_59_is_an_f(self):
self.assertEqual(grade_letter(59), "F")
def test_0_is_an_f(self):
self.assertEqual(grade_letter(0), "F")
def grade_letter(score):
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "F"
print(grade_letter(95))
print(grade_letter(72))
print(grade_letter(40))
Sign in to join the discussion.
No comments yet. Be the first to ask a question.
Press Run to execute your code, or Submit to test and complete this problem.