from itertools import groupby
def verticalWriting(txt, offset):
l = lambda x: x[0] % offset
for (_, g) in groupby(sorted(enumerate(txt), key=l), key=l):
print('|'.join(reversed(list(map(lambda x: x[1], g)))))
verticalWriting(u"床前明月光疑是地上霜举头望明月低头思故乡", 5)
'''
低|举|疑|床
头|头|是|前
思|望|地|明
故|明|上|月
乡|月|霜|光
'''
趣味编程:静夜思(Python版)
推荐阅读
- .NET项目开发—浅谈面向对象的纵横向关系、多态入口,单元测试(项目小结)
- .NET应用架构设计—表模块模式与事务脚本模式的代码编写
- .NET并行编程实践(一:.NET并行计算基本介绍、并行循环使用模式)
- .NET重构—单元测试的代码重构
- HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇
- HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-下篇
- 2018,全新出发(全力推动实现住有所居)
- 系统架构-设计模式(适配器、观察者、代理、抽象工厂等)及架构模式(C/S、B/S、分布式、SOA、SaaS)(干货)
- Linux From Scratch(从零开始构建Linux系统,简称LFS)(二)
- 自制xml实现SQL动态参数配置