2017-05-01 6 views
-5

Ich versuche, eine Fehlermeldung hinzuzufügen, wenn die Eingabe nicht numerisch ist. Ich try/except versucht habe und jetzt if/else versucht, aber beide aktiviert werden nicht (zB wenn der Benutzer „zehn Prozent“ betritt, gibt es eine Fehlerausgabe im Vergleich zu meiner Fehlermeldung)Versuchen Sie, außer nicht Fehler zu fangen

Die erste berechnet Grad basierend auf einer prozentualen Eingabe. Die zweite soll den Lohn berechnen.

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') 

Herausgegeben für die Formatierung ... Code korrekt war in der ursprünglichen Nachricht aber hatte einrücken Code graues Feld, wodurch falsche Einzüge zu erstellen.

Nochmals vielen Dank!

+1

[Fix die Einrückung] (http://stackoverflow.com/posts/43722313/edit). Ihr Code wird nicht einmal so ausgeführt, wie er jetzt ist. – khelwood

+1

Ich denke, Sie möchten etwas wie http://stackoverflow.com/q/23294658/3001761, aber auch [nicht leeres 'außer 'verwenden] (http://blog.codekills.net/2011/09/29/ das Übel von - außer - /). – jonrsharpe

+2

@jonrsharpe Nor 'eval' .. – DeepSpace

Antwort

-1

Bad indentation! Versuchen Sie und erwarten Sie, dass es auf der eigenen Linie gehen sollte. Wie folgt:

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') 
Verwandte Themen