Вы действительно должны также опубликовать конкретное NameError, которое вы получаете, и трассировку. (И ваш полный код.)
В любом случае проблема в том, что вы не инициализируете c
ни для чего, поэтому, когда управление выпадает из «оскорбления пользователя» else
, вы пытаетесь напечатать c
не может произойти.
Присвойте c
какое-то значение во всех случаях, затем проверьте, действительно ли вы выполнили операцию:
c = None
if Operation == "+":
c = a + b
elif Operation == "-":
c = a - b
elif Operation == "*":
c = a * b
elif Operation == "/":
c = a / b
else:
print("Read the Instructions again, dimmwit")
if c is not None:
print("Your answer is", c)
print("Thanks! Have a great time!")
Еще лучше, сделайте вычисление в функции свой собственный, и выводить вещи пользователю в другом месте:
def compute(operation, a, b):
if operation == "+":
return a + b
elif operation == "-":
return a - b
elif operation == "*":
return a * b
elif operation == "/":
return a / b
return None
c = compute(operation, a, b)
if c is not None:
print("Your answer is", c)
print("Thanks! Have a great time!")
else:
print("Please read the instructions again.")