用简单的Python代码接收错误,弄不清原因。ActiveCode提供了一个完整的oth

2024-09-27 00:12:39 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是从分数中找出分数的代码,非常简单:

def grading(grade):
    n = (grade)

    if n >= 90:
        return "A"
    else:
        if n >= 80 and n < 90:
            return "B"
        else:
            if n >= 70 and n < 80:
                return "C"
            else:
                if n >= 60 and n < 70:
                    return "D"
                else:
                    return "F"

m = float(input("What is your number grade?"))

print("Mark:", str(grade), "Grade:", grading(m)) 

运行时,我得到一个“SyntaxError:bad input on line 22”

&;我使用的网站(interactivepython.org)有一个activecode函数,它一步一步地跟踪代码,并产生错误“IndentationError:unexpected indent(,line 1)”


Tags: and代码inputyourreturnifisdef
1条回答
网友
1楼 · 发布于 2024-09-27 00:12:39

不适合注释,但这里是if/elif结构

def grading(grade):
    if grade >= 90:
        return "A"
    elif grade >= 80:
        return "B"
    elif grade >= 70:
        return "C"
    elif grade >= 60:
        return "D"
    else:
        return "F"

m = float(input("What is your number grade?"))

print("Mark:", str(m), "Grade:", grading(m))

Visualize it

决策过程是相同的,条件的后半部分(例如,if grade >= 80 and grade < 90)是不必要的,因为我们已经保证了grade < 90通过在决策树中下降到这一点:如果grade大于或等于90,elif块都不会执行。如果小于90,则只执行elif块中的一个,因此不需要测试范围的两个边界,只需检查min

相关问题 更多 >

    热门问题