【问题标题】:How to fix a problem when user-defining goes wrong用户定义出错时如何解决问题
【发布时间】:2019-10-19 00:39:59
【问题描述】:

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

我试过返回成绩,但它无论如何都行不通

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,它说:grade=computegrade(score,grade) NameError: 名称“等级”未定义

【问题讨论】:

  • 这里的“行不通”是什么意思?错误消息(如果有)(编辑问题以将其显示为正确定义的文本)?
  • 函数中设置的变量默认是本地的。它们不存在于该函数之外。
  • 如果异常被触发,您不定义等级。您正在尝试将输入中的字符串与整数进行比较,这会引发类型错误

标签: python function if-statement user-defined-functions


【解决方案1】:
  1. 您可以将 print() 分配给变量,但这很奇怪。
  2. 在最后一行,您使用的是空(尚未定义)变量“grade”
  3. 你真的不需要变量gradecomputegrade(score, grade),你可以在外面声明它
  4. 您还需要将输入变量(默认情况下,您在此处输入的任何内容都是字符串)转换为整数或浮点数,例如在这种情况下(int -> 1 - 5 - 9 - 0,float -> 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 2013-05-11
    • 2020-01-19
    • 1970-01-01
    • 2013-05-16
    • 2022-09-23
    • 2020-02-27
    • 1970-01-01
    相关资源
    最近更新 更多