w3resource

Python: Convert GPAs to letter grades

Python Programming Puzzles: Exercise-77 with Solution

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

GPAsGrades
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
Input: 
[4.0, 3.5, 3.8]
Output: 
['A+', 'A-', 'A']
Input:  
[5.0, 4.7, 3.4, 3.0, 2.7, 2.4, 2.0, 1.7, 1.4, 0.0]
Output:
['A+', 'A+', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'F']

Sample Solution:

Python Code:

# 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))

Sample Output:

List of numbers: [4.0, 3.5, 3.8]
Convert GPAs to letter grades:
['A+', 'A-', 'A']

List of numbers: [5.0, 4.7, 3.4, 3.0, 2.7, 2.4, 2.0, 1.7, 1.4, 0.0]
Convert GPAs to letter grades:
['A+', 'A+', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'F']

Flowchart:

Flowchart: Python - Convert GPAs to letter grades.

Python Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Find the index of the largest prime in the list and the sum of its digits.
Next: Find the two closest distinct numbers in a given a list of numbers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://198.211.115.131/python-exercises/puzzles/python-programming-puzzles-77.php