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