L1-039 古风排版 (20 分)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。

输入样例:
4
This is a test case
输出样例:
asa T
st ih
e tsi
ce s

意思就是矩阵转置咯!!!既然是python,先来看一妙招

alist = [[1,2,3],[4,5,6],[7,8,9]
]
def zhuan(mylist):return[list(row) for row in list(zip(*mylist))]print(zhuan(alist))

结果是:

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

怎么样?很帅吧!它转置了。关键语法就是*解包然后zip合并每一行的每第1个,第2个,第3个元素为一个元组。实现矩阵转置。

对这道题来说,也就这样嘛!!!

num = int(input())
string = input()
while len(string)%num != 0:string += ' '
sum_number = len(string)//num
mylist = list()
for i in range(sum_number):myslice = string[i*num:(i+1)*num]mylist.append(myslice)mylist = list(reversed(mylist))result_list = list(zip(*mylist))for i in result_list:for index,j in enumerate(i):if index == len(i)-1:print(j)else:print(j,end='')

怎么样,好玩吧

古风排版(python实现)(解包转置矩阵)(*号语法和zip的巧用)相关推荐

  1. 详解Python序列解包(5)

    如果一个函数需要以多种形式来接收参数,定义时一般把位置参数放在最前面,然后是默认值参数,接下来是一个星号的可变长度参数,最后是两个星号的可变长度参数:调用函数时,一般也按照这个顺序进行参数传递.调用函 ...

  2. 详解Python序列解包(4)

    本文主要介绍调用函数传递参数时序列解包的用法.在定义函数时在形参前面加2个星号**表示可变长度参数,可以收集若干关键参数形式的参数传递并存放到一个字典之中.与之相对,如果实参是个字典,可以使用两个星号 ...

  3. 详解Python序列解包(3)

    本文主要介绍调用函数传递参数时序列解包的用法.在调用函数传递参数时,可以在实参序列前加一个星号*进行序列解包,或在实参字典前加两个星号**进行解包,本文介绍第一种用法,第二种用法后面再单独发文介绍. ...

  4. Python的解包知识

      在Python中的代码中经常会见到 *args 和 **kwargs.args 是 arguments 的缩写,*args表示位置参数:kwargs 是 keyword arguments 的缩写 ...

  5. python序列解包_python中解包

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 序列解包(sequence unpacking)是python中非常重要和常用的 ...

  6. python赋值语句(解包赋值、多目标赋值及共享引用)

    python赋值语句(解包赋值.多目标赋值及共享引用) 序列解包赋值语句,赋值一系列整数给一组变量 red,green,blue=range(3) red,blue #(0, 2) 元组赋值语句在循环 ...

  7. python unpacking_Python解包(Unpacking)

    一.序列解包 Python赋值语句技巧之序列解包(sequence unpacking),是Python语言赋值语句的一种技巧方法,在给多个Python变量命名同时赋值时是很有效率的一种方法.简单说就 ...

  8. Python * ** 打包解包详解

    里边出现的英文都来自于python官网的开发者指南 本文主要就是介绍*和**对此展开详细介绍. Unpacking is proposed to be allowed inside tuple, li ...

  9. python 链式比较 2._特色的Python序列解包、链式赋值、链式比较

    一.序列解包 序列解包(或可迭代对象解包):解包就是从序列中取出其中的元素的过程,将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中. 一般情况下要解包的序列包含的元素个数必须与你在等 ...

最新文章

  1. 跑了4个实验,实战讲解 MySQL的行锁、间隙锁...​
  2. android java 回调方法接口
  3. 聊一聊:你都用什么方式回忆青春呢?
  4. BigData之Hbase:Hbase数据管理的简介、下载、案例应用之详细攻略
  5. 产生线程安全的原因(3)(操作系统)
  6. R语言观察日志(part2)--preProcess函数
  7. 用c写按键精灵脚本语言,按键精灵之插件编写
  8. wpf 怎样判断是否选中 checkbox_怎样判断自己的肌肤是否缺水?
  9. python flask 分页前后端分离_【flask + vue 前后端分离博客】创建第一个 Flask RESTFul(一)...
  10. 计算机运算方法与机器指令
  11. MySQL 数据库性能优化
  12. 中国渔船数量不断下降,海洋渔船下降速度较慢「图」
  13. linux usb摄像头UVC usb3300 stm32F4
  14. matlab一维插值extrap,MSC Patran中基于Matlab插值函数的多场创建
  15. 《小样本学习研究综述》赵凯琳等 Survey on Few-shot Learning,文献阅读笔记
  16. Python——程序设计:商贷月供计算器!谁还没点月供了!
  17. 团队管理14--盘点团队
  18. Java 中的代理(proxy)
  19. Sping入门(1) 了解依赖注入(DI)和应用切片(AOP)
  20. 【SeedLab】Packet Sniffing and Spoofing Lab

热门文章

  1. VennDiagram包画韦恩图
  2. 嘉盛基金会布局DeFi领域 以OETH生态强势占领未来风口
  3. css 全屏显示一张图片_css如何设置全屏背景图片
  4. python代码的几种常见加密方式
  5. 2022年起重机司机(限桥式起重机)试题及在线模拟考试
  6. ibm tivoli_在Tivoli Access Manager上为电子商务编写外部认证接口服务器
  7. Android Security boot
  8. 51单片机DHT11温湿度检测手机蓝牙APP显示设计
  9. 计算机 word 节是什么,计算机公共基础教案第17节WORD的讲解3.doc
  10. 代码块(Java )