第一种:来自于网络。
#!/usr/bin/env python #-*- coding:utf-8 -*- #主题:文字变成竖排。 #来源:https://yq.aliyun.com/articles/538844 ##|观|,|利|是|如|不|空|舌|,|明|无|得|故|怖|世|耨|蜜|上|真|即|波| ##|自|照|子|空|是|灭|中|身|乃|尽|苦|故|,|,|诸|多|多|咒|实|说|罗| ##|在|见|,|,|。|,|无|意|至|,|集|,|心|远|佛|罗|,|,|不|咒|僧| ##|菩|五|色|空|舍|不|色|,|无|乃|灭|菩|无|离|,|三|是|是|虚|曰|揭| ##|萨|蕴|不|即|利|垢|,|无|意|至|道|提|挂|颠|依|藐|大|无|。|:|谛| ##|,|皆|异|是|子|不|无|色|识|无|,|萨|碍|倒|般|三|神|等|故|揭|,| ##|行|空|空|色|,|净|受|声|界|老|无|埵|,|梦|若|菩|咒|等|说|谛|菩| ##|深|,|,|,|是|,|想|香|。|死|智|,|无|想|波|提|,|咒|般|揭|提| ##|般|度|空|受|诸|不|行|味|无|,|亦|依|挂|,|罗|。|是|,|若|谛|萨| ##|若|一|不|想|法|增|识|触|无|亦|无|般|碍|究|蜜|故|大|能|波|,|婆| ##|波|切|异|行|空|不|,|法|明|无|得|若|故|竟|多|知|明|除|罗|波|诃| ##|罗|苦|色|识|相|减|无|,|,|老|。|波|,|涅|故|般|咒|一|蜜|罗|。| ##|蜜|厄|,|,|,|。|眼|无|亦|死|以|罗|无|槃|,|若|,|切|多|揭| ##|多|。|色|亦|不|是|耳|眼|无|尽|无|蜜|有|。|得|波|是|苦|咒|谛| ##|时|舍|即|复|生|故|鼻|界|无|。|所|多|恐|三|阿|罗|无|,|,|,| x=u'观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。无无明,亦无无明尽,乃至无老死,亦无老死尽。无苦集灭道,无智亦无得。以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖,远离颠倒梦想,究竟涅槃。三世诸佛,依般若波罗蜜多故,得阿耨多罗三藐三菩提。故知般若波罗蜜多,是大神咒,是大明咒,是无上咒,是无等等咒,能除一切苦,真实不虚。故说般若波罗蜜多咒,即说咒曰:揭谛揭谛,波罗揭谛,波罗僧揭谛,菩提萨婆诃。' lines = 20 lens = len(x)//lines def printN(cur): s = "|" for j in range(0,lens+1): #列 try: s += x[cur + lines*j] + "|" #[当前行 + 总行数*list间隔], 13*0, 13*1, 13*2 except: pass return s for i in range(0,lines): #行 print(printN(i))
第二种:我写的。
#心得:取string切片,可以直接切片。不用: def print_in_line(string,row=20): '''string 语句,row行数,direction 方向。原理:字数/行数的余数。''' ''' 字数/行数, 余数。决定了文字打印出来的坐标。''' len_col=len(string)//row +1 #必须加1,否则最后一列打不出来。 line='' for i in range(row): for j in range(len_col): try: line+=string[j*row+i] line+='|' #可以通过直接切片的方式,进行取值。错误则不打印连接符。 except: pass else: line+='\n' else: print(line) return line print('-'*100) x='''大王叫我来巡山 词曲:赵英俊 演唱:贾乃亮,甜馨 太阳对我眨眼睛 鸟儿唱歌给我听 我是一个努力干活儿 还不粘人的小妖精 别问我从哪里来 也别问我到哪里去 我要摘下最美的花儿 献给我的小公举 大王叫我来巡山 我把人间转一转 打起我的鼓 敲起我的锣 生活充满节奏感 大王叫我来巡山 抓个和尚做晚餐 山涧的水 无比的甜 不羡鸳鸯不羡仙
''' #如果原句带有换行符,则需要对str做预处理。 #如果原句是汉字,含有英文字符,那么 #换行符。 if '\n' in x: x=x.replace('\n','。') print_in_line(x)
我的打印处理是这样的:
大|亮|。|别|下|巡|的|个|鸯| 王|,|我|问|最|山|锣|和|不| 叫|甜|是|我|美|。|。|尚|羡| 我|馨|一|从|的|我|生|做|仙| 来|。|个|哪|花|把|活|晚|。| 巡|太|努|里|儿|人|充|餐| 山|阳|力|来|。|间|满|。| 。|对|干|。|献|转|节|山| 词|我|活|也|给|一|奏|涧| 曲|眨|儿|别|我|转|感|的| :|眼|。|问|的|。|。|水| 赵|睛|还|我|小|打|大|。| 英|。|不|到|公|起|王|无| 俊|鸟|粘|哪|举|我|叫|比| 。|儿|人|里|。|的|我|的| 演|唱|的|去|大|鼓|来|甜| 唱|歌|小|。|王|。|巡|。| :|给|妖|我|叫|敲|山|不| 贾|我|精|要|我|起|。|羡| 乃|听|。|摘|来|我|抓|鸳|
英文逗号的列宽和中文的符合宽度不一样。所以需要另外替换一下。
做英文符号替换为中文,要另外开个帖子了。