Когда я предлагаю консоли попросить пользователя ввести число для калькулятора, я хочу проверить, является ли вводимый пользователем числом числом. В first_input () я использовал условие if else, чтобы проверить, было ли введенное пользователем число числом. Хотя, если false, функция вызывается снова, чтобы предложить пользователю ввести число, она не возвращает ни одного раза, когда я пытаюсь вычислить его на своем калькуляторе, почему это так и как я могу правильно вернуть число после того, как пользователь не может ввести число?
# Operations variable
oper = "+-*/"
# Calculates basic operations
def calc(x, op, y):
for i in oper:
if i == str(op):
return eval(str(x) + op + str(y))
# Main function that controls the text-based calculator
def console_calculator():
def first_input():
x = input('Type your first number: ')
if x.isnumeric():
return x
else:
print('Please type in a number')
first_input()
def operation_input():
operat = input('Type one of the following, "+ - * /": ')
return operat
def next_input():
y = input('Type your next number: ')
return y
answer = calc(first_input(), operation_input(), next_input())
print(answer)
console_calculator()