Reputation: 33
I'm asked to code a calculator in python and here is what I have that works:
operation = input("please input your operation (+,-,*,/): ")
number_1 = int(input("Please enter your first number: "))
number_2 = int(input("Please enter your second number: "))
if operation == '+':
print("result: ",(number_1 + number_2))
elif operation == '-':
print("result: ",(number_1 - number_2))
elif operation == '*':
print("result: ",(number_1 * number_2))
elif operation == '/':
print("result: ",(number_1 / number_2))
else:
print("Invalid input")
Now, I just want to add a qualifier that if the user inputs a 0 as "number_2", the program prints "Error! Cannot divide by 0!!!"
Upvotes: 3
Views: 1934
Reputation: 1200
We can't divide by 0.
But solve this using exception handling Python exception handling
see here why can't divide by zero
operation = input("please input your operation (+,-,*,/): ")
number_1 = int(input("Please enter your first number: "))
number_2 = int(input("Please enter your second number: "))
try:
if operation == '+':
print("result: ",(number_1 + number_2))
elif operation == '-':
print("result: ",(number_1 - number_2))
elif operation == '*':
print("result: ",(number_1 * number_2))
elif operation == '/':
print("result: ",(number_1 / number_2))
else:
print("Invalid input")
except ZeroDivisionError:
print ("You can't enter number_2 Zero !!!")
Upvotes: 0
Reputation: 3273
nest a if
in your '/'
judgement code segment.
operation = input("please input your operation (+,-,*,/): ")
number_1 = int(input("Please enter your first number: "))
number_2 = int(input("Please enter your second number: "))
if operation == '+':
print("result: ",(number_1 + number_2))
elif operation == '-':
print("result: ",(number_1 - number_2))
elif operation == '*':
print("result: ",(number_1 * number_2))
elif operation == '/':
if number_2 == 0:
print("Error! Cannot divide by 0!!!")
else:
print("result: ",(number_1 / number_2))
else:
print("Invalid input")
Upvotes: 2
Reputation: 3284
One option would be to just check if number_2
contains zero before performing the calculation:
elif operation == '/':
if number_2 != 0:
print("result: ",(number_1 / number_2))
else:
print("Cannot divide by 0")
An alternative would be to catch the ZeroDivisionError
that is thrown whenever you try to divide by 0
:
elif operation == '/':
try:
print("result: ",(number_1 / number_2))
except ZeroDivisionError:
print("Cannot divide by 0")
Upvotes: 4
Reputation: 397
Change your code from :
operation = input("please input your operation (+,-,*,/): ")
number_1 = int(input("Please enter your first number: "))
number_2 = int(input("Please enter your second number: "))
if operation == '+':
print("result: ",(number_1 + number_2))
elif operation == '-':
print("result: ",(number_1 - number_2))
elif operation == '*':
print("result: ",(number_1 * number_2))
elif operation == '/':
print("result: ",(number_1 / number_2))
else:
print("Invalid input")
To:
operation = input("please input your operation (+,-,*,/): ")
number_1 = int(input("Please enter your first number: "))
number_2 = int(input("Please enter your second number: "))
if operation == '+':
print("result: ",(number_1 + number_2))
elif operation == '-':
print("result: ",(number_1 - number_2))
elif operation == '*':
print("result: ",(number_1 * number_2))
elif operation == '/':
if number_2 == 0 :
print ("Error! Cannot divide by 0!!!")
else:
print("result: ",(number_1 / number_2))
else:
print("Invalid input")
Upvotes: 3