这是一个软文风转换程序,当键入y或Y继续后,无法输入新文本,该如何改善?

问题遇到的现象和发生背景

这是一个软文风转换程序,当键入y或Y继续后,无法输入新文本,该如何改善?

问题相关代码,请勿粘贴截图
txt = str(input("请输入一段你想转换为软文风的文字:"))
linewidth = int(input("请输入一个你想要的长度(ღ´・ᴗ・` 比心):"))
def spl(line):
    plist = [
             ',', '!', '?', ',', '.', '。',
             '!', '?', " ", chr(12288),
             "#", "¥" , "$", "^",
             "&", "/", "\"", "\\"
                                             ]
    for p in plist:
        line = line.replace(p, "\n")
    return line.splitlines()
def pri_1(line):
    global linewidth
    while len(line) > linewidth:
        print(line[0:linewidth])
        line = line[linewidth:]
    print(line.center(linewidth, chr(12288)))
def pri_2(line):
    global linewidth
    print(line.center(linewidth, chr(12288)))
newlines = spl(txt)
def main():
    while True:
        try:
            judge = int(input("如果你想适用于长句,并限制各行字数长度,请回复1,如果仅适用于短句,且不限制各行字数长度,请回复0:"))
            if judge == 1:
                for newline in newlines:
                    pri_1(newline)
            elif judge == 0:
                for newline in newlines:
                    pri_2(newline)           
            else:
                print ("输入格式有误,请重新输入啊!!!")
                continue
            flag = input('是否继续转换?(输入Y或y继续,其他则终止):')
            if flag.lower() != "y":
                print("再见啦~")
                break

        except Exception:
            print ("输入格式有误,请重新输入啊!!!")
            continue

if __name__ == '__main__':
    main()
运行结果及报错内容

无法键入新文本

我的解答思路和尝试过的方法

想不到

我想要达到的结果

可以在每次继续后键入新文本

大概看了下逻辑,改了一下,是不是这个意思?

linewidth = 0

def spl(line):
    plist = [
        ',', '!', '?', ',', '.', '。',
        '!', '?', " ", chr(12288),
        "#", "¥", "$", "^",
        "&", "/", "\"", "\\"
    ]
    for p in plist:
        line = line.replace(p, "\n")
    return line.splitlines()


def pri_1(line):
    global linewidth
    while len(line) > linewidth:
        print(line[0:linewidth])
        line = line[linewidth:]
    print(line.center(linewidth, chr(12288)))


def pri_2(line):
    global linewidth
    print(line.center(linewidth, chr(12288)))





def main():
    while True:
        try:
            txt = str(input("请输入一段你想转换为软文风的文字:"))
            linewidth = int(input("请输入一个你想要的长度(ღ´・ᴗ・` 比心):"))
            newlines = spl(txt)
            judge = int(input("如果你想适用于长句,并限制各行字数长度,请回复1,如果仅适用于短句,且不限制各行字数长度,请回复0:"))
            if judge == 1:
                for newline in newlines:
                    pri_1(newline)
            elif judge == 0:
                for newline in newlines:
                    pri_2(newline)
            else:
                print("输入格式有误,请重新输入啊!!!")
                continue
            flag = input('是否继续转换?(输入Y或y继续,其他则终止):')
            if flag.lower() != "y":
                print("再见啦~")
                break

        except Exception:
            print("输入格式有误,请重新输入啊!!!")
            continue


if __name__ == '__main__':
    main()