打印两个多行字符串,end= 不会将它们并排放置

  • 本文关键字:end 两个 字符串 打印 python
  • 更新时间 :
  • 英文 :


我正在尝试使用图形字符在终端中显示大数字,例如:

def nos(n):
if n == 1: return("""
#
#
#
#
#
""")
if n == 2: return("""
###
#
###
#
###
""")

我试着显示这些像:

for i in [1,2]:
print(nos(i), end = " ")

所需输出如下:

# ###
#   #
# ###
# #
# ###

但我得到了

#
#
#
#
# ###
#
###
#
###

为什么会发生这种情况,我该如何解决?

您可以执行以下操作:

  1. 用新行n拆分每个图形数字字符串
  2. 将每个数字的相应行用空格连接起来,
    (您可能需要为1以外的其他数字填充每行(
  3. 打印生成的字符串
def nos(n):
if n == 1:
return("""
#
#
#
#
#
""")
if n == 2:
return("""
###
#
###
#
###
""")

lst = [1, 2]
def multi_num(lst):
nums = list(nos(i).split('n') for i in lst)
for i in range(1, 6):
result = ' '.join(num[i] for num in nums)
print(result)
multi_num(lst)
# ###
#   #
# ###
# #
# ###

最新更新