先上代码:
txt = ''' 人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。 ''' linewidth = 30 # 预定的输出宽度 def lineSplit(line): plist = [',', '!', '?', ',', '。', '!
', '?'] for p in plist: line = line.replace(p, '\n') return line.split('\n')def linePrint(line): global linewidth print(line.center(linewidth, chr(12288))) newlines = lineSplit(txt) for newline in newlines: linePrint(newline)
原始文本利用变量txt保存,程序运行效果如下。(大概)
>>> 人生得意须尽欢 莫使金樽空对月 天生我材必有用 千金散尽还复来
但有时候当每句长度超过变量linewdith后,显示效果并 不好。这须要修正函数linePrint(),当一个短句 行数超过限定时,分行居中显示。

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