s.strip(。).split(,)
去掉最后的句号,然后以逗号为分隔符,把句子分开,存到一个list当中。执行完成后,
lines=[白日依山尽, 黄河入海流, 欲穷千里目, 更上一层楼]
lines.reverse()把lines里面的句子倒序。这是因为竖排书写时是从右到左的。执行后
lines=[更上一层楼, 欲穷千里目, 黄河入海流, 白日依山尽]
print(\ .join([ .join(w) for w in zip(*lines)]))这句比较复杂,分开说
[ .join(w) for w in zip(*lines)]构造了一个列表,核心是zip(*lines)。
zip()的作用是把传入的多个iterable结合在一起。比如list(zip("abc","def","ghi"))得到的是[(a, d, g), (, e, h), (c, f, i)]。在这里,从zip(*lines)得到每行应该输出的字符组成的元组。你可以用list(zip(*lines))看一下,应该是
[(更, 欲, 黄, 白), (上, 穷, 河, 日), (一, 千, 入, 依),