python新手,我想知道为什么当我在这个程序中输入一个等级时,结果是多个字母的等级


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.

相关内容

最新更新