Python 如何修复基本输入函数中的语法错误

Python 如何修复基本输入函数中的语法错误,python,Python,我正在用Python学习基础计算机科学;我们的第一个练习问题之一是创建一个基本的输入值,告诉你你的字母等级是多少 我已经编写了一些代码,但是由于语法错误,代码的最后一行没有运行。由于我没有经验,我不知道错误在哪里 grade = float(input("Enter your grade.")) if grade >= 90: print("Your letter grade is an A.") elif grade >= 80: print ("Your let

我正在用Python学习基础计算机科学;我们的第一个练习问题之一是创建一个基本的输入值,告诉你你的字母等级是多少

我已经编写了一些代码,但是由于语法错误,代码的最后一行没有运行。由于我没有经验,我不知道错误在哪里

grade = float(input("Enter your grade."))
if grade >= 90:
    print("Your letter grade is an A.")

elif grade >= 80:
    print ("Your letter grade is a B.")

elif grade >= 70:
    print ("Your letter grade is a C.")

elif grade >= 60:
    print ("Your letter grade is a D.")

elif grade >= 50:
    print ("Your letter grade is an E.")

else grade:
    print ("You failed :(")
你应该输入任何值,结果应该只是一条消息,告诉你你的字母等级,但我发现最后一部分(其他等级)有语法错误

感谢您的帮助。

删除
else
后面的“grade”,因此最后两行内容如下:

其他:
打印(“您失败了:(”)

以下更改应该有效

else:
    print ("You failed :(")

额外提示,在堆栈交换上使用标记/写入对代码进行格式化时,请使用“``进行多行代码格式化。

一个
if
语句至少由两部分组成:一个要计算的条件,以及一个如果该条件为真则要执行的代码块

if grade >= 90:
    print("Your letter grade is an A.")
您还可以添加一个
else
子句,该子句提供了一个在条件不正确时执行的代码块

这就足够了,尽管它会导致像这样丑陋的嵌套代码

if grade >= 90:
    print("Your letter grade is an A.")
else:
    if grade >= 80:
        print("Your letter grade is a B.")
    else:
        if grade >= 70:
            print("Your letter grade is a C.")
        else:
            if grade >= 60:
                print("Your letter grade is a D.")
            else:
                print("Your letter grade is an F.")
为了避免这种情况,您还可以指定一个或多个
elif
子句,这些子句将
else
与紧跟其后的
if
组合在一起(例如,考虑收缩
else:if grade>=80
elif grade>=80:
) 这减少了许多不必要的缩进

if grade >= 90:
    print("Your letter grade is an A.")
elif grade >= 80:
    print("Your letter grade is a B.")
elif grade >= 70:
    print("Your letter grade is a C.")
elif grade >= 60:
    print("Your letter grade is a D.")
else:
    print("Your letter grade is an F.")

因为这是一个语句集合,而不是表达式,你根本不需要一个<代码>否则<代码>子句;如果没有条件是真的,你就不需要做任何事情。。似乎需要等待一段时间才能接受答案。再次感谢。有趣的是,你知道的越多!这就提出了一个问题:

else
elif
之间的区别是什么?我认为,elif是一个包含所有先前选项的条件,而else只是所有不满足的条件y任何条件,如果和ELIF组合在一起。那么为什么
else
需要任何条件?else可能是唯一允许您“捕获”的命令您输入的值没有附加特殊条件的所有其他选项。如果我回答的问题有误,很抱歉,感谢这些发人深省的讨论-它们对像我这样的新学员有益。谢谢,这是一个非常详细的解释。
if grade >= 90:
    print("Your letter grade is an A.")
elif grade >= 80:
    print("Your letter grade is a B.")
elif grade >= 70:
    print("Your letter grade is a C.")
elif grade >= 60:
    print("Your letter grade is a D.")
else:
    print("Your letter grade is an F.")