python 实际问题(一)--- 实现LED字母打印
2013-04-12 12:18
525 查看
1 ## Created by YangJinfeng 2 3 def num_set(s): 4 """set the LED shapes to nums""" 5 6 a = [' ' + ' '*s + ' ', ' ' + '-'*s + ' '] 7 b = ['|'+' '*s+' ', ' '+' '*s +'|', '|'+' '*s+'|'] 8 9 zero = [a[1],b[2],a[0],b[2],a[1]] 10 one = [a[0],b[1],a[0],b[1],a[0]] 11 two = [a[1],b[1],a[1],b[0],a[1]] 12 thre = [a[1],b[1],a[1],b[1],a[1]] 13 four = [a[0],b[2],a[1],b[1],a[0]] 14 five = [a[1],b[0],a[1],b[1],a[1]] 15 six = [a[1],b[0],a[1],b[2],a[1]] 16 seve = [a[1],b[1],a[0],b[1],a[0]] 17 eigh = [a[1],b[2],a[1],b[2],a[1]] 18 nine = [a[1],b[2],a[1],b[1],a[1]] 19 20 return [zero, one, two, thre, four, five, six, seve, eigh, nine] 21 22 def num_get(s): 23 """get the LED nums list""" 24 return num_set(s) 25 26 def num_print(S,N): 27 """print the nums""" 28 nums = num_get(S) 29 try: 30 for i in range(5): 31 line = '' 32 for j in range(len(N)): 33 n = nums[int(N[j])] 34 line += n[i] + ' ' 35 if i % 2 == 1: 36 for t in range(S): 37 print line 38 else: 39 print line 40 except ValueError, e: 41 print e 42 43 def file_handle(f): 44 """handle the file, return the data_list""" 45 data_list = [] 46 try: 47 for line in file(f, 'r'): 48 data_list.append(line.split()) 49 finally: 50 file(f, 'r').close() 51 52 return data_list 53 54 if __name__ == "__main__": 55 56 ## content of ./tmp: 57 ## 58 ## 2 12345 59 ## 3 67890 60 for i in file_handle("./tmp"): 61 if not i: 62 continue 63 num_print(int(i[0]), i[1] 64
原问题: 把给定任意数字变成LCD的7段显示 输入: 输入文件包含多行,每个要显示的数占一行。每一行包含两个整数S和N。其中N是要显示的数(比如1234, 48384, 100000234)。S是显示的LCD图案的尺寸(S<10) 输出: 以LCD的样式print出输入文件指定的数。横线用'-'(减号)组成, 竖线用'|'(管道号)组成。 每一个数字刚好占据 S+2列, 2*S+3行。 数字之间用空列分割。 数之间用空行分割。 输入示例: 2 12345 3 67890 输出示例: -- -- -- | | | | | | | | | | | | -- -- -- -- | | | | | | | | | | -- -- -- --- --- --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- ---
相关文章推荐
- Python实现按学生年龄排序的实际问题详解
- python 多线程服务器验证,实现断开重连,信号量解决主线程Ctrl+C不退出问题,多线程打印错行问题
- 一周stackoverflow热门问题选登:如何用Python for循环实现列表中数据两两循环打印?
- Java线程问题实现打印数字字母
- Python3 打印26个英文字母
- Python实现N阶台阶的走法问题
- python 链接 ORACLE 数据库,并打印数据.解决中文乱码问题
- Python打印中文问题
- Python实现遗传算法求解n-queens问题(2)
- Python使用扩展库pywin32实现批量文档打印
- [置顶] 利用python实现批量插入打印信息的方法
- 简单的线性回归问题(python实现)
- 解决多个py模块调用同一个python的logging模块,打印日志冲突问题
- python使用.map() 实现首字母大写,其余小写
- 亲和数问题 python实现
- 使用python实现打印所有100以内的所有质数
- 分支限界法的0-1背包问题Python实现
- python实现控制台打印
- python实现ftp中的乱码问题
- 用python解决你的实际问题,忘记语言吧