python回车符结束_使用Python排版古诗!

这篇博客介绍了如何利用Python基本语法对古诗进行排版,将文本文件中的诗句按每2句一个段落,用逗号和句号分隔。通过遍历字符串,根据字符位置插入合适的分隔符,实现古诗的整洁展示。同时提出了从右到左竖行排版的思考题,鼓励读者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多同学在学习了Python最基本的一些语法,比如程序控制语句,各种数据容器之后,会有疑惑,这些究竟怎么应用? 我们今天就以诗歌排版为例,看看最基本的Python的知识,如何发挥巨大的威力!

51dfdc7fc82115754bece28af6d58b1d.png

上面这首古诗,保存在一个文本文件中,没有分段,也没有标点。现在希望输出为下图所示的样子,每2句一个段落,并且用逗号和句号进行分隔,该如何完成呢?

bd1bdfae9ad2b890829327919cbd6697.png

方法是首先将文档内容读入,此时是作为一个字符串来处理,使用for遍历字符串,并用print(),打印每个字符,如果字符的排位是14的倍数,则以句号和回车符结束,如果是7的倍数,则以逗号结束,其他的情况,末尾不添加字符,代码如下(已经将python文件和要处理的文本文件置于同一个文件夹中):

with open('和子由渑池怀旧.txt',encoding='utf8') as poem:   cotent=poem.read()   for i in range(len(cotent)):      if (i+1) % 14 ==0:         print(cotent[i],end='。\n')      elif (i+1) % 7 ==0:         print(cotent[i],end=',')      else:         print(cotent[i],end='')

其中i为诗中每个字符的下标,范围为从0到55,i+1就是该字在诗中的排位,如果排位为14或7的倍数,就应用相应的结束标记。另外需要注意,文字的编码需要使用utf8,这样才能正确打开,运行代码,就得到了想要的结果。

可能有的同学会说,其实要达到上面的目标,在Word中也不复杂,可如果我们的诗歌不是七律,而是“长恨歌”呢?
with open('长恨歌.txt',encoding='utf8') as poem:   cotent=poem.read()   for i in range(len(cotent)):      if (i+1) % 14 ==0:         print(cotent[i],end='。\n')      elif (i+1) % 7 ==0:         print(cotent[i],end=',')      else:         print(cotent[i],end='')
只需要将上述代码中的文件名改为“长恨歌”就行了。运行的结果如下图(内容太长,截取片段): 73d53a9bad7dafa452e7034f0ac5351a.png

通过上面的例子,大家是不是更能体会不同工具该在何种情境下使用?有兴趣的同学也可以想一下,如何从右到左竖行排版?

学习Python,并通过微软MTA-Pyhton 和ICTP-Python国际认证,请关注: 0187bc0cf74a51be6be206b7f0025cc7.png          d7c7f0e6d1bb045fcf12b793c8eb81a8.png

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值