这是从分数中找出成绩的代码,非常简单:
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 (<string>, line 1)"
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))
决策过程是相同的,后半部分条件(例如,
if grade >= 80 and grade < 90
)是不必要的,因为我们已经通过落在决策树中的这一点来保证
grade < 90
:如果等级大于或等于到 90 时,所有
elif
块都不会执行。如果小于 90,则只有
elif
块中的 one会执行,因此无需测试范围的两个边界,只需检查分钟