2016-09-28 16 views
0

Wenn ich diese Funktion ausführen, ist alles in Ordnung. Ich kann x auf 90 und y auf 9 setzen und z wie 10 erhalten. Allerdings wird die Einstellung von y auf 0,9 nicht funktionieren.Erhalten Sie immer einen ValueError beim Teilen.

Bitte helfen.

def div(): 

    x = int(input('Number? ')) 
    y = int(input('Number? ')) 

    if x == 0 or y == 0: 
     print('0') 
    else: 
     z = (x/y) * 1.0 
     print(z) 

Antwort

1

Es ist, weil Sie die Eingabe in einen Int-Wert konvertieren. Der String '0.9' ist kein Literal, also int ('0.9') löst eine ValueError-Exception aus.

Wenn Sie zu behandeln schweben Sie brauchen:

def div(): 

    x = float(input('Number? ')) 
    y = float(input('Number? ')) 

    if x == 0 or y == 0: 
     print('0') 
    else: 
     z = (x/y) * 1.0 
     print(z) 
+0

Danke, Olivier! Es funktionierte mit der Float-Funktion. – 11swallowedinthesea

Verwandte Themen