I am trying to make a calculator using functions, but I am really not sure what am I doing wrong here. When the user types n/N the program does not end but continues from the else statement in operation_outcome() function. Seems the next_example() function works fine when the user wants another example, but I am not sure either if the code is written proper way here
def enter_number(num, error):
notEntered = True
while notEntered:
try:
num = float(input(num))
notEntered = False
except ValueError:
print(error)
else:
return num
def operation_outcome(first_num, second_num, choice, error):
notEntered = True
while notEntered:
print("1. addition")
print("2. subtraction")
print("3. multiplication")
print("4. division")
try:
choice = int(input(choice))
if choice >= 1 and choice <= 4:
if choice == 1:
print("the answer is", first_num + second_num)
elif choice == 2:
print("the answer is", first_num - second_num)
elif choice == 3:
print("the answer is", first_num * second_num)
elif choice == 4:
try:
print("the answer is", first_num / second_num)
except ZeroDivisionError:
print("you cant divide by zero")
next_example("do you want another example? y/n: ")
except ValueError:
print(error)
else:
print(error)
operation_outcome(first_num, second_num, "enter a choice: ", "enter the right value!"
)
def next_example(answer):
notEntered = True
while notEntered:
answer = input(answer)
if answer == "y" or answer == "Y":
first_num = enter_number("enter 1. number: ", "enter the right value!")
second_num = enter_number("enter 2. number: ", "enter the right value!")
operation_outcome( first_num, second_num, "enter a choice: ", "enter the right value!"
)
elif answer == "n" or answer == "N":
print("end of the program.")
return False
else:
print("enter the right value!")
first_num = enter_number("enter 1. number: ", "enter the right value!")
second_num = enter_number("enter 2. number: ", "enter the right value!")
operation_outcome(first_num, second_num, "enter a choice: ", "enter the right value!")
source https://stackoverflow.com/questions/76607123/how-can-i-end-the-program-based-on-the-users-input
Comments
Post a Comment