首页 > 解决方案 > 忽略python中的多个新行

问题描述

这是我写的代码

a = "*" * 2 
b = "*" * 4
c = "*" * 1

print("a","b","c")

for each in a:
  print('{:>5}'.format(each))

for each in b:
  print('{:>10}'.format(each))

for each in c:
  print('{:>15}'.format(each))

我得到的输出是这样的

a  b  c
*
*
   *
   *
   *
   *
       *

但是我想要得到的输出是这样的

a  b  c
*  *  *
*  *
   *
   *

关于如何获得我想要的输出的任何想法?感谢任何可能的帮助

标签: python

解决方案


使用一个循环进行迭代,a,b,c以便能够逐行打印:

a = "*" * 2
b = "*" * 4
c = "*" * 1

items = [list(x) for x in (a, b, c)]
print("a", "b", "c")

# repeat until a,b,c are empty.
while any(items):
    for item in items:
        print(item.pop() if item else ' ', end=' ')
    print("")

出去:

a b c
* * * 
* *   
  *   
  *   

推荐阅读