问题遇到的现象和发生背景
这是一个软文风转换程序,当键入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()
运行结果及报错内容
无法键入新文本
我的解答思路和尝试过的方法
想不到
我想要达到的结果
可以在每次继续后键入新文本