Здравствуйте. Пишу калькулятор в python tkinter. Когда нужно возводить число в большие степени, вроде таких - 5^55555 программа как я понимаю, уйдет в долгую цикл или рекурсию и виснет. Как предотвратит это? Заранее спасибо. Скрипт условия с возведением в степень закреплю ниже, если понадобится. Логика программы таков: юзер сперва набирает число с баттонов программы, потом выбирает операнд(+, -, *, /, ^) потом другое число и наконец знак равенства чтобы увидеть результат
elif operation == "^":
# command of power operand button
result = int(first_num ** last_num)
# there are 3 lbls, 1st on top for first num, 2nd on middle for operand, 3rd on bottom for last num
# here when user push "=" button, 2nd and 3rd lbls will be cleared, instead of 1st num on 1st lbl there will be result
operation_label.configure(text="")
last_num_label.configure(text="")
result_text = f"{first_num} ^ {last_num} = {result}"
index = str(result_text).index("=") # this var will be used to adapt nums and symbols
if len(result_text) > 32 and len(result_text) < 64: # lbls width is 33, height is 3, this clause for 2 lined result_text
result_text = result_text[:index] + "\n" + result_text[index:]
elif len(result_text) > 64 and len(result_text) < 96: # this for 3 lined result_text
result_text = str(result_text[:index]) + "\n" + str(result_text[index:index+4]) + "e" + str(len(result_text[index+4:]))
first_num_label.configure(text=str(result_text)) # print result on first lbl