用户定义错误时如何解决问题

问题描述 投票:0回答:1

我对编程是完全陌生的,现在我在一个小程序中苦苦挣扎,而“等级”将无法定义。谢谢

我尝试了退学成绩,但仍然无法正常工作

def computegrade(score,grade):
     try:
        if score >1.0001:
            grade= print("invalid score")
        elif score < -0.0001:
            grade= print("invalid score")
        elif score >= 0.9:
            grade= print("A")
        elif score >= 0.8:
            grade= print("B")
        elif score >= 0.7:
            grade= print("C")
        elif score >= 0.6:
            grade= print("D")
        elif score < 0.6:
            grade= print("F")
    except:
        print("Invalid")
    return grade

score=input("Enter your Score(between 0.0-1.0)\n")
grade=computegrade(score,grade)

请解决“等级”得到正确定义的问题。谢谢:)当您输入例如0.7,它说:成绩=计算成绩(分数,成绩)NameError:名称“等级”未定义

python function if-statement user-defined-functions
1个回答
0
投票
  1. 您可以将print()分配给变量,但是很奇怪。
  2. 在最后一行,您正在使用空的(尚未定义)变量“ grade”
  3. 您确实不需要可变等级computegrade(score, grade),可以在外部声明它
  4. 您还需要将输入变量(默认情况下,您在此处输入的任何内容都是字符串)转换为整数或浮点数,在这种情况下(整数-> 1-5-9-0,浮点数-> 1.5-2.58-3.9)

这应该起作用:

def compute_grade(score):
    grade = ""
    try:
        if score >1.0001:
            grade= "invalid score"
        elif score < -0.0001:
            grade= "invalid score"
        elif score >= 0.9:
            grade= "A"
        elif score >= 0.8:
            grade= "B"
        elif score >= 0.7:
            grade= "C"
        elif score >= 0.6:
            grade= "D"
        elif score < 0.6:
            grade= "F"
    except:
        print("Invalid")
    return grade

score = float(input("Enter your Score (between 0.0-1.0)\n"))
grade = compute_grade(score)
print (grade)
© www.soinside.com 2019 - 2024. All rights reserved.