[英]how can I find and print the content of an attribute by a given number?
所以程序是这样工作的,我需要输入一个数字,一旦我的程序识别出类中的数字,它就会以 LCD 格式打印给定的数字。
class lcd:
def numbers():
0 = ["_","| |","_"]
1 = ["|","|","|"]
2 = ["_","_|","|_"]
3 = ["_","_|","_|"]
4 = ["|_|"," |"]
5 = ["_","|_"," _|"]
6 = ["_","|_","|_|"]
7 = ["_"," |"," |"]
8 = ["_","|_|","|_|"]
9 = [" _","|_|"," _|"]
def numgen(num):
print("Type the number you want to print in LCD: ")
num = lcd()
for i in range (lcd):
if hasattr(num,'numbers'):
for i in range (3):
print("\n")
return
if __name__ == '__main__':
num = int(input())
numgen()
print(num)
问题是我不知道如何继续,我一直在阅读一些函数,但它们都不起作用。 我尝试过,因为你可以看到 hasattr 的一种奇怪方式,但显然它不起作用。 在最后一个循环中,我尝试为属性中的每个对象打印该空间,这样数字就会正确打印。 我将不胜感激任何帮助。
IIUC,您想以 LCD 格式(或者更确切地说是 7 段)打印数字。
这是它的最小代码。 最重要的部分是使用zip
来构建线条。
注意。 我不得不修正你不正确的数字段。
digits = {
0 : [" _ ","| |","|_|"],
1 : [" ","|","|"],
2 : [" _ "," _|","|_ "],
3 : ["_ ","_|","_|"],
4 : [" ", "|_|"," |"],
5 : [" _ ","|_ "," _|"],
6 : [" _ ","|_ ","|_|"],
7 : ["_ "," |"," |"],
8 : [" _ ","|_|","|_|"],
9 : [" _ ","|_|"," _|"],}
def print_num(num):
parts = [digits[int(d)] for d in str(num)]
print('\n'.join(' '.join(line) for line in zip(*parts)))
print_num(1234567890)
输出:
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.