我需要创建一个七段显示器,并排打印结果,我得到的结果用 每个数字后面。
# ### ###
# # #
# ### ###
# # #
# ### ###
我尝试过 print("x",sep=" ") 但没有成功,这是我的代码:
nums = {
'0': "###\n" + "# #\n" * 3 + "###",
'1': "#\n" * 5,
'2': "###\n" + " #\n" + "###\n" + "# \n" + "###",
'3': "###\n" + " #\n" + "###\n" + " #\n" + "###",
'4': "# #\n" * 2 + "###\n" + " #\n" * 2,
'5': "###\n" + "# \n" + "###\n" + " #\n" + "###",
'6': "###\n" + "# \n" + "###\n" + "# #\n" + "###",
'7': "###\n" + " #\n" * 4,
'8': "###\n" + "# #\n" + "###\n" + "# #\n" + "###",
'9': "###\n" + "# #\n" + "###\n" + " #\n" + " #"
}
def res(num_list):
num_list = list(str(num_list))
try:
for i in num_list:
print(nums[i], sep=" ")
except:
print("Invalid numbers")
res(12)
结果:
#
#
#
#
#
###
#
###
#
###
非常感谢任何指点。
就像@chepner所说,你必须将所有数字一起打印,一次一行,这可以通过将数字行压缩成行来完成:
def res(num_list):
for row in zip(*(nums[n].splitlines() for n in str(num_list))):
print(*row)
这样:
res(1234567890)
输出:
# ### ### # # ### ### ### ### ### ###
# # # # # # # # # # # # # #
# ### ### ### ### ### # ### ### # #
# # # # # # # # # # # # #
# ### ### # ### ### # ### # ###