• python 实际问题(一) 实现LED字母打印


      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 输出示例: -- -- -- | | | | | | | | | | | | -- -- -- -- | | | | | | | | | | -- -- -- --- --- --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- | | | | | | | | | | | | | | | | | | | | | | | | --- --- --- ---
  • 相关阅读:
    SQL having 子句
    sqlserver2008 R2 创建作业(定时任务)
    3步完成chrome切换搜索引擎
    http模拟请求工具
    网页自动加载进度条插件
    span设为inline-block之后,未包含文字时下面会多出一条空白问题
    记一次特殊的下载字体方法
    团队冲刺第十三天
    团队冲刺第十二天
    人月神话03
  • 原文地址:https://www.cnblogs.com/thinbottle/p/3016391.html
Copyright © 2020-2023  润新知