七段数码管
* * * *
拉格朗日计划
* * * *
七段数码管

给定一串数字,用竖线和下滑线模拟输出这串数字在七段数码管上的显示。

例如以下是0123456789所对应的显示:

 _     _  _     _  _  _  _  _
| |  | _| _||_||_ |_   ||_||_|
|_|  ||_  _|  | _||_|  ||_| _|


本题难度:



解答

可以看出每个数字占据三行且在每行中占据三格,这三格的内容是空格、下划线和竖线的不同组合。

不妨将这三格中的字符称为基本显示元素,先提取所有可能的基本显示元素,按一定顺序编排,再将每个数字的上、中、下三行按基本显示元素的顺序重新排列,最后将读入的数字正确映射并输出即可。

最终代码行有三行。

代码长度:156字节 vs. 全站第一:98字节。

import sys
x=" _|,|_|,|_ , _ ,   ,| |,  |".split(",")
for y in["3433433333","5600122611","1620601610"]:print("".join(x[int(y[int(i)])]for i in sys.argv[1]))