我正在使用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 :(")
您应该输入任何值,结果应该只是一条消息,告诉您您的字母等级,但我发现的是最后一节的语法错误(其他等级)
感谢您的帮助。
答案 0 :(得分:1)
在else
之后删除“成绩”,因此最后两行显示为:
else:
print("You failed :(")
答案 1 :(得分:0)
以下更改应该起作用。
else:
print ("You failed :(")
奖金提示,当在堆栈交换上使用标记/写入来格式化代码时,请使用```进行多行代码格式化。
答案 2 :(得分:0)
if
语句至少由两部分组成:要评估的条件,以及在条件为真时要执行的代码块。
if grade >= 90:
print("Your letter grade is an A.")
您还可以添加一个else
子句,该子句提供条件为 not true时要执行的代码块。
if grade >= 90:
print("Your letter grade is an A.")
else:
print("Your letter grade is not an A.")
这已经足够了,尽管它会导致类似丑陋的嵌套代码
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.")
为避免这种情况,您还可以指定1个或多个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
子句;如果没有一个条件成立,您就没有要做任何事情。