如何通过给定数字查找和打印属性的内容?
how can I find and print the content of an attribute by a given number?
所以程序是这样工作的,我需要输入一个数字,一旦我的程序识别出 class 中的数字,它就会以 LCD 格式 (7-segment display) 打印给定的数字。
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)
问题是我不知道该如何继续,我一直在阅读一些函数,但其中 none 有效。我试过了,你可以看到 hasattr 的一种奇怪方式,但显然它没有用。在最后一个循环中,我尝试为我的属性中的每个对象打印 space,这样数字将正确打印。
我将不胜感激任何帮助。
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)
输出:
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
所以程序是这样工作的,我需要输入一个数字,一旦我的程序识别出 class 中的数字,它就会以 LCD 格式 (7-segment display) 打印给定的数字。
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)
问题是我不知道该如何继续,我一直在阅读一些函数,但其中 none 有效。我试过了,你可以看到 hasattr 的一种奇怪方式,但显然它没有用。在最后一个循环中,我尝试为我的属性中的每个对象打印 space,这样数字将正确打印。 我将不胜感激任何帮助。
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)
输出:
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|