鱼C论坛

 找回密码
 立即注册
查看: 3161|回复: 0

[萌新报道] 把数字转换成LCD显示模式

[复制链接]
发表于 2018-4-8 18:06:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

''' Python小练习(001):
把数字(0~9)转换成LCD显示的模式。
例如:0:    1:     2:     3:     4:     5:     6:     7:     8:     9:
         _              _       _              _      _      _      _      _
        |  |     |      _|      _|    |_|    |_     |_       |    |_|    |_|
        |_|     |     |_      _|       |      _|    |_       |    |_|     _|

如果输入数字: 1234, 输出:   
                                           _      _        
                                   |      _|     _|    |_|
                                   |     |_      _|      |
'''


思路根据LCD特性,分为3层,可以使用list,dict形式来存储每特性


代码:

lcd={0:[' _  ','| | ','|_| '],\
     1:['    ','  | ','  | '],\
     2:[' _  ',' _| ','|_  '],\
     3:[' _  ',' _| ',' _| '],\
     4:['    ','|_| ','  | '],\
     5:[' _  ','|_  ',' _| '],\
     6:[' _  ','|_  ','|_| '],\
     7:[' _  ','  | ','  | '],\
     8:[' _  ','|_| ','|_| '],\
     9:[' _  ','|_| ',' _| ']}

def number2lcd(n):
        global lcd
        output = [' ',' ',' ']
        l = len(str(n))
        while True:
                i = n // 10 **(l-1)
                for j in range(3):
                        output[j] += lcd[i][j]
                n = n%10**(l-1)
                l -=1
                if 1==0:
                        break
        return output
n = int(raw_intput('Input the numbers:'))
output = number2lcd(n)
for each in output:
        print each

来自:jerryxjr1220
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 17:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表