User Tools

Site Tools


clubs:python_club:python_club_ex_gpa_to_grade_letter_conversion
Home | clubs :: cloud club :: python_club :: 3D-Printing | projects :: Proxmox | Kubernetes | scripting | utilities | games

About the Club

Python Club Topics - Exercise: GPA to grade letter conversion

Exercise: GPA to grade letter conversion

Output: Display grade letters based upon input from the user, according to the table below.

Write a Python program to convert GPAs to letter grades according to the following table:

GPAs Grades
4.0 A+
3.7 A
3.4 A-
3.0 B+
2.7 B
2.4 B-
2.0 C+
1.7 C
1.4 C-
below F

What you learn from the example:

  1. Get input from a user
  2. Manipulate strings
  3. Use conditionals

Solution 1

[1] code:python show
# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of GPAs as input
def test(nums):
    # Use list comprehension to convert GPAs to letter grades
    return ['A+' if grade >= 4.0
            else ('A' if grade >= 3.7
                  else ('A-' if grade >= 3.4
                        else ('B+' if grade >= 3.0
                              else ('B' if grade >= 2.7
                                    else ('B-' if grade >= 2.4
                                          else ('C+' if grade >= 2.0
                                                else ('C' if grade >= 1.7
                                                      else ('C-' if grade >= 1.4
                                                            else 'F'))))))))
            for grade in nums]

# Example 1
nums1 = [4.0, 3.5, 3.8]
print('List of numbers:', nums1)
print('Convert GPAs to letter grades:')
print(test(nums1))

# Example 2
nums2 = [5.0, 4.7, 3.4, 3.0, 2.7, 2.4, 2.0, 1.7, 1.4, 0.0]
print('\nList of numbers:', nums2)
print('Convert GPAs to letter grades:')
print(test(nums2))


Solution 2

[2] code:python show
# License: https://bit.ly/3oLErEI =⇒ Modified version of Solution 1 that's easier to read/understand


# Define a function named 'test' that takes a list of GPAs as input
def test(nums):
    # Use list comprehension to convert GPAs to letter grades
  for grade in nums:
    if grade >= 4.0:
      return 'A+'
    elif grade >= 3.7:
      return 'A'
    elif grade >= 3.4:
       return 'A-'
    elif grade >= 3.0:
       return 'B+'
    elif grade >= 2.7:
       return 'B'
    elif grade >= 2.4:
       return 'B-'
    elif grade >= 2.0:
       return 'C+'
    elif grade >= 1.7:
       return 'C'
    elif grade >= 1.4:
       return 'C-'
    else:
       return 'F'

# Example 1
nums1 = [4.0, 3.5, 3.8]
print('List of numbers:', nums1)
print('Convert GPAs to letter grades:')
print(test(nums1))

# Example 2
nums2 = [5.0, 4.7, 3.4, 3.0, 2.7, 2.4, 2.0, 1.7, 1.4, 0.0]
print('\nList of numbers:', nums2)
print('Convert GPAs to letter grades:')
print(test(nums2))
clubs/python_club/python_club_ex_gpa_to_grade_letter_conversion.txt · Last modified: by 127.0.0.1