Don't know where is error. Code returns False with no reason
Question: can you tell me, why this code returns False? I've just started learning
python and have no clue why this doesn't work.

    
    
    #!/usr/bin/python
    from math import *
    lloyd = {
        "name": "Lloyd",
        "homework": [90.0, 97.0, 75.0, 92.0],
        "quizzes": [88.0, 40.0, 94.0],
        "tests": [75.0, 90.0]
    }
    alice = {
        "name": "Alice",
        "homework": [100.0, 92.0, 98.0, 100.0],
        "quizzes": [82.0, 83.0, 91.0],
        "tests": [89.0, 97.0]
    }
    tyler = {
        "name": "Tyler",
        "homework": [0.0, 87.0, 75.0, 22.0],
        "quizzes": [0.0, 75.0, 78.0],
        "tests": [100.0, 100.0]
    }
    
    def average(numbers):
        total = sum(numbers)
        total = float(total)
        total = total / len(numbers)
        return total
    
    def get_average(students):
        homework = average(students["homework"])
        quizzes = average(students["quizzes"])
        tests = average(students["tests"])
        homework = homework * 0.1
        quizzes = quizzes * 0.3
        tests =  tests * 0.6
        score = tests + quizzes + homework
        score = float(score)
        return score
    
    def get_letter_grade(score):
        score = float(score)
        if score == int or score == float:
            if score >= 90:
                return "A"
            elif score >= 80:
                return "B"
            elif score >= 70:
                return "C"
            elif score >= 60:
                return "D"
            else:
                return "F"
        else:
            return False
    
    print get_letter_grade(get_average(lloyd))
    

Thank you in advance ;)


Answer: The problem is in:

    
    
    if score == int or score == float:
    

What you want is:

    
    
    if isinstance(score, (int, float)):
    

Your variable `score` will never be equal to class `int` or class `float`. But
it can be an instance of `int` or `float`.

Another valid variant is:

    
    
    if type(score) is int or type(score) is float:
    

or:

    
    
    if type(score) in (int, float):
    

