2016-09-28 4 views
0

Когда я запускаю эту функцию, все хорошо. Я могу поставить x на 90 и у на 9 и получить z как 10. Однако установка y в .9 не будет работать.Продолжайте получать ValueError при делении.

Пожалуйста, помогите.

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) 

ответ

1

Это потому, что вы преобразовываете вход в значение int. Строка '0.9' не является литералом, поэтому int ('0.9') вызывает исключение ValueError.

Если вы хотите обрабатывать плавать вам нужно:

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

Спасибо, Оливье! Он работал с функцией float. – 11swallowedinthesea

Смежные вопросы