我正在尝试用Python制作图形设计的问题,更具体地说是ASCII"横幅"字.每个字母由字符的嵌套列表组成.
[[' _______ ', '( )', '| () () |', '| || || |', '| |(_)| |', '| | | |', '| ) ( |', '|/ \\|'], [' _______ ', '( ____ \\', '| ( \\/', '| (__ ', '| __) ', '| ( ', '| (____/\\', '(_______/']]
等等
当为每个嵌套列表向下打印并为整个事物打印时,它们会形成一个单词.我正如上面所说的那样打印它时遇到问题,对于每个嵌套列表都是如此.提前致谢!
如果你想从左到右打印字母,你将需要自己zip
的列表列表,有效地"转置"它.这样,第一个列表将包含所有第一行,第二个列表包含所有第二行,依此类推.现在就是join
那些,你就完成了.
>>> ascii = [[' _______ ', '( )', '| () () |', '| || || |', '| |(_)| |', '| | | |', '| ) ( |', '|/ \\|'], [' _______ ', '( ____ \\', '| ( \\/', '| (__ ', '| __) ', '| ( ', '| (____/\\', '(_______/']] >>> print '\n'.join((' '.join(line) for line in zip(*ascii))) _______ _______ ( ) ( ____ \ | () () | | ( \/ | || || | | (__ | |(_)| | | __) | | | | | ( | ) ( | | (____/\ |/ \| (_______/
如果你想从上到下打印字母,你可以使用:
>>> print '\n\n'.join(('\n'.join(line) for line in ascii))