2017-05-01 117 views
-5

我试图添加一个错误消息,如果输入是非数字的。我试过try/except现在试图if/else但都没有得到激活(例如,如果用户输入“百分之十”,有一个错误输出与我的错误消息)尝试除非没有捕获错误

第一个计算级基于百分比输入。第二个应该是计算工资。

grade=eval(input("Enter Score:")) 
try: 
    if(grade<0 or grade>1): 
     print("Bad Score") 
    elif(grade>=0.9): 
     print("A") 
    elif(grade<=0.9 and grade>=0.8): 
     print("B") 
    elif(grade<=0.8 and grade>=0.7): 
     print("C") 
    elif(grade<=0.7 and grade>=0.6): 
     print("D") 
    else: 
     print("F") 
except: 
    print("Bad score") 

Hours=eval(input('Please enter hours worked: ')) 
Rate=eval(input('Please enter pay per hour: ')) 
if(Hours<=40 and Hours>=0): 
    Pay=Hours*Rate 
elif(Hours>40): 
    Pay=((Hours-40)*(1.5*Rate))+(40*Rate) 
    print('Your pay should be $',Pay) 
else: 
    print('Error. Please enter a Numeric Value') 

编辑的格式...代码是在原岗位正确的,但不得不缩进来创建代码灰色框,创建不正确缩进。

再次谢谢你!

+1

[修复缩进](http://stackoverflow.com/posts/43722313/edit)。你的代码甚至不会像现在这样运行。 – khelwood

+1

我想你想要的东西像http://stackoverflow.com/q/23294658/3001761,但也[不要使用裸'除了'](http://blog.codekills.net/2011/09/29/所述-罪恶-的 - 除了 - /)。 – jonrsharpe

+2

@jonrsharpe Nor'eval' .. – DeepSpace

回答

-1

错误的缩进!尝试和期待应该继续自己的路线。像这样:

grade=eval(input("Enter Score:")) 
try: 
    if(grade<0 or grade>1): 
    print("Bad Score") 
    elif(grade>=0.9): 
    print("A") 
    elif(grade<=0.9 and grade>=0.8): 
    print("B") 
    elif(grade<=0.8 and grade>=0.7): 
    print("C") 
    elif(grade<=0.7 and grade>=0.6): 
    print("D") 
    else: 
    print("F") 
except: 
print("Bad score") 

Hours=eval(input('Please enter hours worked: ')) 
Rate=eval(input('Please enter pay per hour: ')) 
if(Hours<=40 and Hours>=0): 
    Pay=Hours*Rate 
elif(Hours>40): 
    Pay=((Hours-40)*(1.5*Rate))+(40*Rate) 
    print('Your pay should be $',Pay) 
else: 
    print('Error. Please enter a Numeric Value')