print ("Letter Grade Converter")
print ()
grade = float(input("Enter numerical grade:"))
if grade >=88:
print ("Letter Grade: A")
if grade >=80:
print ("Letter Grade: B")
if grade >=67:
print ("Letter Grade: C")
if grade >=60:
print ("Letter Grade: D")
else:
print ("Letter Grade: F")
Python将按照您在代码中所写的方式逐行依次询问每个问题。一个很好的方法是在编辑器中使用调试模式。有几种方法可以处理这个问题,如果/elif是最好的方法,那么return
/break
就是程序的其余部分。你也可以为这个问题设置一个上限:
print ("Letter Grade Converter")
print ()
grade = float(input("Enter numerical grade:"))
if grade >=88:
print ("Letter Grade: A")
if 80 >= grade <88:
print ("Letter Grade: B")
if 67 >= grade <80:
print ("Letter Grade: C")
if 60 >= grade <67:
print ("Letter Grade: D")
else: print ("Letter Grade: F")
您需要使用if.elif..elif..else,因此只要一个if/elif语句为True,它就不会继续检查和执行块。在您的情况下,if..if..if.if,每个if语句都将被执行,因此它的块,最后一个else继续执行最后一个if.