題目:數組
關鍵在於思路轉換:不要想着一個數字一個數字的打印,而是一行一行的打印。一個七段數碼管數字一共五行,n個數字也是五行,所以五個數組就夠了。app
其中1,3,5行顯示橫,2,4行顯示豎。spa
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)
效果:code