python读取txt中的诗句并横板和竖版(从右至左)输出

问题描述

自行选择一首七言绝句,保存在10_3.txt中,首行为绝句名;

程序读取文件后,实现控制台输出文件输出,并分成 横版竖版两种排列方式

横版文件输出在10_3a.txt,竖版文件输出在10_3b.txt。

10_3.txt

 

思路分析

txt文件编码应为ANSI,否则会出现乱码

 用切片实现横板和竖版输出。

代码


# 读取文件
with open('D:\\10_3.txt') as f:
    poem = f.readlines()


title = poem[0].strip()  # 获取绝句名,同时去掉两端的空格

# 控制台横向输出
print(title)
print(''.join(poem[1:]))  # 将剩下的行合成一行输出
#文件横向输出
with open('D:/10_3a.txt', 'w') as f:
    f.write(title + '\n')
    f.write(''.join(poem[1:]))

print()

# 控制台竖向输出
max_len = max(len(line.strip()) for line in poem[1:])  # 计算最长行长度
print(title)

for i in range(max_len):
    for line in poem[:0:-1]:
       print(line[i], end=' ')
    print()  # 每行输出完毕后换行
#文件竖向输出
with open('D:/10_3b.txt', 'w') as f:
    f.write(title)
    f.write('\n')
    max_len = max(len(line.strip()) for line in poem[1:])  # 计算最长行长度
    for i in range(max_len):
        for line in poem[:0:-1]:
           char=line[i]
           f.write(char)
        f.write('\n')#每行输出完毕后换行

结果

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值