2017-03-03 51 views
-1

我试图写一个程序进行这个任务:输入一个浮点数,未达到该错误消息

写一个程序,提示0.0和1.0之间的分数。如果分数超出范围,则输出错误。如果分数0.0和1.0之间,使用下表打印品位:

Score Grade 
>= 0.9 A 
>= 0.8 B 
>= 0.7 C 
>= 0.6 D 
< 0.6 F 

如果用户输入的值超出范围,打印一个合适的错误消息并退出。

但它不打印句子。

try: 
    inp = raw_input("Enter Score: ")  

    score = float(inp) 

except: 
    print "Please enter a score number between 0.0 and 1.0" 
    quit() 
if score >= 0.9 : 
    print "A" 
elif score >= 0.8 : 
    print "B"  
elif score >= 0.7 : 
    print "C"  
elif score >= 0.6 : 
    print "D" 
elif score < 0.6 : 
    print "F" 
else: 
    print "Your score number is not in the 0 - 1 range." 
+0

你可以显示回溯和你得到的错误吗? –

+0

实际上,已经大于'0.9'的第一个'if'语句被评估。 – Szabolcs

+0

我得到的错误是“请更正您的代码并重新运行。” – pavan

回答

0

您应该引发异常以使其打印出来。以下是您正在查找的代码更改。

try: 
    inp = raw_input("Enter Score: ")  

    score = float(inp) 

    if score > 1.0 or score < 0 
     raise 
except: 
    print "Please enter a score number between 0.0 and 1.0" 
    quit() 
if score >= 0.9 : 
    print "A" 
elif score >= 0.8 : 
    print "B"  
elif score >= 0.7 : 
    print "C"  
elif score >= 0.6 : 
    print "D" 
elif score < 0.6 : 
    print "F" 
else: 
    #your logic 

希望这对我很有帮助。

+0

请解释一下,如果声明 – pavan

0

所以像我在评论区突出请做修改您的if声明如下图所示:

try: 
    inp = raw_input("Enter Score: ")  

    score = float(inp) 

except: 
    print "Please enter a score number between 0.0 and 1.0" 
    quit() 

# change your if statement here: 
if score > 1.0 or score < 0.0: 
    print "Your score number is not in the 0 - 1 range." 
elif score >= 0.9 : 
    print "A" 
elif score >= 0.8 : 
    print "B"  
elif score >= 0.7 : 
    print "C"  
elif score >= 0.6 : 
    print "D" 
elif score < 0.6 : 
    print "F" 

编辑:所有if分支检查是否存在越界score首先是大于1.0且小于0.0的值,然后打印错误消息。 如果score在其他elif块的范围内,则检查原始帖子中的score的值。

+0

其运行成功.. – pavan

+0

请解释一下,“if”语句 – pavan

0

Pavan,您的代码没有通过考试,因为您接受的值高于1.0或小于0.0,这是不正确的。

添加一个检查的地方,验证分数介于0.0和1.0之间。