打印七段数码管数字

题目:

关键在于思路转换:不要想着一个数字一个数字的打印,而是一行一行的打印。一个七段数码管数字一共五行,n个数字也是五行,因此五个数组就够了。

其中1,3,5行显示横,2,4行显示竖。

import sys

n=str(sys.argv[1])
list_1=[]
list_2=[]
list_3=[]
list_4=[]
list_5=[]

def do(i):
    if(i=='1'):
        list_1.append('  ')
        list_2.append(' |')
        list_3.append('  ')
        list_4.append(' |')
        list_5.append('  ')
        break
    if(i=='2'):
        list_1.append('--')
        list_2.append(' |')
        list_3.append('--')
        list_4.append('| ')
        list_5.append('--')
        break
    if(i=='3'):
        list_1.append('--')
        list_2.append(' |')
        list_3.append('--')
        list_4.append(' |')
        list_5.append('--')
        break
    if(i=='4'):
        list_1.append('  ')
        list_2.append('||')
        list_3.append('--')
        list_4.append(' |')
        list_5.append('  ')
        break
    if(i=='5'):
        list_1.append('--')
        list_2.append('| ')
        list_3.append('--')
        list_4.append(' |')
        list_5.append('--')
        break
    if(i=='6'):
        list_1.append('--')
        list_2.append('| ')
        list_3.append('--')
        list_4.append('||')
        list_5.append('--')
        break
    if(i=='7'):
        list_1.append('--')
        list_2.append(' |')
        list_3.append('  ')
        list_4.append(' |')
        list_5.append('  ')
        break
    if(i=='8'):
        list_1.append('--')
        list_2.append('||')
        list_3.append('--')
        list_4.append('||')
        list_5.append('--')
        break
    if(i=='9'):
        list_1.append('--')
        list_2.append('||')
        list_3.append('--')
        list_4.append(' |')
        list_5.append('--')
        break
    if(i=='0'):
        list_1.append('--')
        list_2.append('||')
        list_3.append('  ')
        list_4.append('||')
        list_5.append('--')

def add_space():
    list_1.append(' ')
    list_2.append(' ')
    list_3.append(' ')
    list_4.append(' ')
    list_5.append(' ')

for i in n:
    do(i)
    add_space()

print ''.join(list_1)
print ''.join(list_2)
print ''.join(list_3)
print ''.join(list_4)
print ''.join(list_5)

 效果:

 

posted @ 2017-11-09 12:40  duanguyuan  阅读(803)  评论(0编辑  收藏  举报