我试图排除这段代码中的错误:
import time
while1 = True
def grader (z):
if z >= 0 or z <= 59:
return "F"
elif z >= 60 or z <= 62:
return "D-"
elif z >= 62 or z <= 66:
return "D"
elif z >= 67 or z <= 69:
return "D+"
elif z >= 70 or z <= 62:
return "C-"
elif z >= 73 or z <= 76:
return "C"
elif z >= 77 or z <= 79:
return "C+"
elif z >= 80 or z <= 82:
return "B-"
elif z >= 83 or z <= 86:
return "B"
elif z >= 87 or z <= 89:
return "B+"
elif z >= 90 or z <= 92:
return "A-"
else:
return "A"
while while1:
z = int(input("I will tell you the grade of this number, enter from 1 - 100\n"))
if z < 0 or z > 100:
print "Between 1 and 100 PLEASE!\n"
while1 = True
print grader(z)
print "New number now\n"
time.sleep(100)
while1 = True
这种情况下的参数是整数z
。z
的值是由用户设置的,然后函数应该摆入并确定字母等级z
值多少,尽管它总是返回'F.'
这对我(我是个新手)来说相当迷惑,我需要一些帮助。在
你的问题是:
使用:
^{pr2}$这缓解了使用
or
而不是and
的问题,而且可读性更强。在但是您应该看看bisect模块:
您在
grader
中的or
应该是and
s。任何大于0的输入都将传递第一个条件,因此也是F基于@Jon Clements的回答,但我认为更容易理解:
相关问题 更多 >
编程相关推荐