简体   繁体   中英

Why am I getting a Type Error on my code?

I get the error TypeError: '<' not supported between instances of 'function' and 'int' when my code reaches 'if(entered_score < 60):' in my code. I have looked into the topic, but all the examples and explanations I saw were difficult to apply to my situation for me. I am new to using Python, so I am not surprised if there is something I overlooked, or I am entirely ignorant about in this matter. If someone could point it out to me, I would appreciate it.

def calc_average(score_1, score_2, score_3, score_4, score_5):
    average = (score_1 + score_2 + score_3 + score_4 + score_5) / 5
    return average

def determine_grade_letter(entered_score):
    if(entered_score < 60):
        return "F"
    elif(entered_score < 70):
        return "D"
    elif(entered_score < 80):
        return "C"
    elif(entered_score < 90):
        return "B"
    elif(entered_score < 101):
        return "A"

def enter_scores():
    score_1 = float(input("test score #1: "));
    score_2 = float(input("test score #2: "));
    score_3 = float(input("test score #3: "));
    score_4 = float(input("test score #4: "));
    score_5 = float(input("test score #5: "));

return score_1, score_2, score_3, score_4, score_5

def results(score_1, score_2, score_3, score_4, score_5):
    print("test score #1: " + str(score_1) + "\n\n" + "grade letter: " + 
determine_grade_letter(score_1), \
           "test score #2: " + str(score_2) + "\n\n" + "grade letter: " + 
determine_grade_letter(score_2), \
          "test score #3: " + str(score_3) + "\n\n" + "grade letter: " + 
determine_grade_letter(score_3), \
          "test score #4: " + str(score_4) + "\n\n" + "grade letter: " + 
determine_grade_letter(score_4), \
          "test score #5: " + str(score_5) + "\n\n" + "grade letter: " + 
determine_grade_letter(score_5), \
          "average score: " + str(calc_average(score_1, score_2, score_3, score_4, score_5)) + 
"\n" \
          + "grade leter: " + determine_grade_letter(calc_average))
def main():
    score_1, score_2, score_3, score_4, score_5 = enter_scores()
    results(score_1, score_2, score_3, score_4, score_5)

main()

You are using function when comparing. You should be using function with arguments.

determine_grade_letter(score_5), \
          "average score: " + str(calc_average(score_1, score_2, score_3, score_4, score_5)) + 
"\n" \
          + "grade leter: " + determine_grade_letter(calc_average(score_1, score_2, score_3, score_4, score_5)))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM