【发布时间】:2014-12-22 12:51:21
【问题描述】:
我想编写一个程序,它接受一个数字并将它的图形表示打印到控制台。例如,输入 123 我应该期望得到:
这是我尝试实现它的方法,从实现 one 和 two 开始。
def g (n):
n = list(str(n))
dic = { '1': """1
1
1
1
1
1
1
""",
'2': """2222
2
2
2
2 2
2
2
2
22222"""
}
for i in n:
print(dic[i])
但是我得到了输入“121”:
>>>
>>> g(121)
1
1
1
1
1
1
1
2222
2
2
2
2 2
2
2
2
22222
1
1
1
1
1
1
1
更新:我更正了语法错误。谢谢。我仍然得到一个有点奇怪的结果。
【问题讨论】:
-
您在字典中使用了分号。使用
,。 -
它也不起作用,因为它会在新行中打印每个数字。您必须在打印前准备好每一行文本。
-
我更正了语法错误。我仍然得到一个奇怪的结果。
-
要打印 ascii-art,您可以使用 figlet,例如
print(pyfiglet.figlet_format('1234', font='doh'))。另一个code example。
标签: python string python-3.x