我正在用python制作一个七段显示模拟器,但遇到了一个小问题。我所做的是为每个数字制作一个列表,其中包含一系列代表一个字符的数字,就像这样["000", "001", "000", "001", "000"]
这代表数字 1,0 是空格,1 是管道字符 (|),2 是破折号。
这适用于 1 的宽度,但我希望它能够达到任何宽度。我尝试通过将字符数乘以宽度来做到这一点,例如宽度为 2 的数字一看起来像["000000", "000011", "000000", "000011", "000000"]
我遇到的问题是,当它遇到管道字符时,它会将其打印在同一行而不是在其下方。像这样'| |' 什么时候应该像
|
|
我试过用\n
在新行上打印它,但这会把其他一切都搞砸了。
任何有关如何以更好的方式执行此操作或如何解决我的问题的建议将不胜感激。
这是我的代码。
uno = ["000", "001", "000", "001", "000"]
temp = ""
width = 2
for line in uno:
temp = ""
for char in line:
temp += char * width
temp = temp.replace('0', ' ').replace("1", "|").replace('2', '-')
print(temp)
示例输出
||
||
想要的输出
|
|
|
|
谢谢