Ответ от @AnnZen должен решить вашу непосредственную проблему (+1). Но у вас, похоже, есть большая проблема, связанная с int
и str
и запоминание, какая переменная есть какая:
second_number=input(str(sec_inp_words))
s_num=str(second_number)
answer=int(first_number)**int(second_number)
print('the answer to '+str(f_num)+'to the power of'+str(s_num)+'is'+answer)
Поскольку вы конвертируете строки в строки несколько раз! Чтобы лучше справиться с этим, можно было бы включить тип переменной в имя переменной:
inp_words_str = "Please enter the first number: "
sec_inp_words_str = "Please enter the second number: "
words_str = "Goodbye!"
# ...
if user_input_str == 'squares':
first_number_str = input(inp_words_str)
second_number_str = input(sec_inp_words_str)
first_number_int = int(first_number_str)
second_number_int = int(second_number_str)
answer_int = first_number_int ** second_number_int
print(f'The answer to {first_number_str} to the power of {second_number_str} is {answer_int}.')
print(words_str)
Таким образом вы будете знать, что не следует вызывать str()
для *_str
переменной и не вызывать int()
для переменной *_int()
, et c. Вы также можете использовать в калькуляторе float
вместо int
.