以特定方式制作垂直文字打印?

时间:2015-09-29 03:53:13

标签: python vertical-text

我正在为CS类编写一个程序,需要一些python 3编码的帮助。这是我目前编写的代码:

def main():
    print() # blank line
    phrase = input("Please enter a phrase: ")
    wordlist = phrase.split()
    print("Original text:",phrase)
    for msg in wordlist:
        print(msg)

输出:

    Phil
    likes
    to
    code

我不能使用任何进口或类似的东西。我只能使用小东西,如循环或切片或拆分。任何帮助,将不胜感激。我需要输出看起来像:

P l t c
h i o o
i k   d
l e   e
  s

2 个答案:

答案 0 :(得分:1)

您可以将itertools.zip_longest()与fillvalue一起用作空格。示例 -

>>> s = "Four score and seven years ago"
>>> ls = s.split()
>>> import itertools
>>> for i in itertools.zip_longest(*ls,fillvalue=' '):
...     print(*i)
...
F s a s y a
o c n e e g
u o d v a o
r r   e r
  e   n s
Python 2的

itertools.izip_longest

答案 1 :(得分:0)

没有导入,就像你问的那样:

words = phrase.split()
height = max(map(len, words))
padded = [word.ljust(height) for word in words]
for row in zip(*padded):
    print(' '.join(row))

我希望你能帮到你。