我创建了一个函数,该函数将为我提供字母 K 的字母模式。 我创建了另一个将打印图案的函数。我想并排打印两个图案 K ,但是当我执行代码时,它将在第一个图案下方打印第二个图案
我该如何解决?
def letter_k(pattern):
k = ''
for row in range(7):
for col in range(6):
if((col == 0) or ((row == 0 or row == 6) and (col == 5))
or ((row == 1 or row == 5) and (col == 4))
or ((row == 2 or row == 4) and (col == 3))
or ((row == 3) and (col == 2))):
k = k + pattern
else:
k = k + ' '
k = k + '\n'
return k
def name():
print(letter_k('*'),letter_k('+'))
name()
答案 0 :(得分:3)
您可以将两个调用的输出分别拆分为letter_k
,zip
,然后重新加入它们:
def name():
print('\n'.join(' '.join(l) for l in zip(letter_k('*').split('\n'), letter_k('+').split('\n'))))
进行此更改后,您的代码将输出:
* * + +
* * + +
* * + +
* * + +
* * + +
* * + +
* * + +
答案 1 :(得分:1)
要并排打印字母,必须连接各个行。通常,这意味着分割线,连接相应的线,然后将组合的线放回原处。将字母放在一个矩形块中会有所帮助,因此您不必计算每行的填充量。
k1 = letter_k('*')
k2 = letter_k('+')
lines = [' '.join(rows) for rows in zip(k1.splitlines(), k2.splitlines())]
ks = '\n'.join(lines)
print(ks)
这是一个IDEOne链接,可用于:https://ideone.com/OQStFd