Программа Python завершается без видимых причин
Делаю для самого себя небольшую программу на Python и столкнулся с проблемой, что после выбора допустим 5-ого действия и возвращения на экран выбора, любое выбранное действие приведет к закрытию программы
import rsa,os,time,sys
pub,priv = '',''
clear = lambda: os.system('cls')
pubexist,privexist = '0','0'
pubstatus,privstatus = 'NONE','NONE'
def selectscreen():
global choose,pub,pubexist,pubstatus,priv,privexist,privstatus
try:
clear()
if pubexist == 1:
pubstatus = "ENTERED"
if privexist == 1:
privstatus = "ENTERED"
print(f'\033[33mPublic Key:\033[96m {pubstatus}\033[0m')
print(f'\033[33mPrivate Key:\033[96m {pubstatus}\033[0m')
choose=int(input("Выберите действие:\n[1] Зашифровать текст\n[2] Расшифровать текст\n[3] Ввести PublicKey\n[4] Ввести PrivateKey\n[5] Сгенерировать RSA ключи 512bit\n> "))
except:
print(f'Something Went Wrong, try again {sys.exc_info()[1]}')
time.sleep(1)
selectscreen()
try:
#start
selectscreen()
#encrypt
if choose<=1:
msg=input("Введите необходимый текст:\n").encode()
crypt=rsa.encrypt(msg,pub)
print(crypt)
#decrypt
if choose==2:
msg=input("Введите необходимый текст:\n").encode()
text=rsa.decrypt(crypt,priv)
print(msg)
#pub key
if choose==3:
pub=input('Введите публичный RSA ключ:\n')
pubexist=1
selectscreen()
#priv key
if choose==4:
priv=input('Введите приватный RSA ключ:\n')
privexist=1
selectscreen()
#generate new RSA key
if choose>=5:
(pub, priv) = rsa.newkeys(512)
pubexist,privexist = 1,1
input(f'\n\033[33mПубличный RSA ключ:\033[0m\n{pub}\n\n\033[33mПриватный RSA ключ:\033[0m\n{priv}\nНажмите ENTER что-бы вернуться...')
selectscreen()
except:
print(f'{sys.exc_info()[1]}')


