Top.Mail.Ru
Ответы

Деление на 0 в Питоне (учусь)

Всем добра и здоровья!
Начал изучать Питон и столкнулся с такой хренью: Выдает ошибку при делении на ноль в 8 строке, хотя вроде если Фальш в 7 строке, то не должно уже 8ю читать...

Вот текст д/з:
1) Попросите пользователя ввести 2 числа.
2) Сохраните в переменную результат деления первого числа на второе при условии, что делитель не равен 0. Если делитель равен 0, то сохранить в переменную строку: «бесконечность».
3) Вывести пользователю ответ в таком виде: «ЧИСЛО_1 / ЧИСЛО_2 = ОТВЕТ».

Вот код:
print('Введи 2 числа!')
a=input()
b=input()

if b != 0:
c=float(a)/float(b) -------------------Ошибку выдаёт здесь только при делении на 0
print(a, '/', b, '=', c)
elif b == 0:
print('Нельзя делить на ноль!')

Помогите ррребята!
Заранее спасибо!

По дате
По рейтингу
Аватар пользователя
Новичок

input всегда возвращает строку, даже если туда вводят число.

print( "0" != 0 ) # True

a = float( input() )
b = float( input() )

if b != 0:
c = a / b
print(a, '/', b, '=', c)
else:
print('Нельзя делить на ноль!')

Аватар пользователя
Ученик

У меня работает такой вариант:

Аватар пользователя
Ученик

print('введите два числа: ')
num1 = input()
num2 = input('введите еще одно ')

if num2 != '0':
[Tab] c = int(num1) / int(num2)
[Tab] print('Число', num1, 'разделить', 'на число', num2, '=', c)

else:
[Tab] print('Бесконечность')

вот так это работает,

Аватар пользователя
Ученик

нет, правильно будет вот так:

x = input("x: ")
y = input("y: ")

try:
x = int(x)
y = int(y)

res = x / y
except ZeroDivisionError:
print("Бесконечность!")
except ValueError:
print("одно или несколько из введенных значений не число")

else:
print("Исключений не произошло")
print(res)

Аватар пользователя
Ученик

x = input("x: ")
y = input("y: ")
x = int(x)
y = int(y)

try:
x = int(x)
y = int(y)

res = x / y
except ZeroDivisionError:
res = "осторожно деление на ноль!"
except ValueError:
res = "одно из введенных значений не число"

else:
print("Исключений не произошло")
print(res)