鱼C论坛

 找回密码
 立即注册
查看: 1218|回复: 1

[已解决]坏掉的七段显示器,如何去显示可显示的数字

[复制链接]
发表于 2020-3-14 22:35:41 | 显示全部楼层 |阅读模式

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

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

x
dictionary是这样子的
seven_segment = {'0': {'a','c','d','e','b','f'},
'1': {'c','b'},
'2': {'a','d','e','b','g'},
'3': {'a','c','d','b','g'},
'4': {'g','c','f','b'},
'5': {'a','c','d','g','f'},
'6': {'a','c','d','e','g','f'},
'7': {'a','c','b'},
'8': {'a','c','d','e','b','g','f'},
'9': {'a','c','d','b','g','f'}}
七段显示器的一部分坏了。所以显示的数字不清晰。你知道是那几段坏了。只能从还没坏的数字里去找可能的数字。

当我input  guess_with_damaged(display, state, damaged)时候,会出现可能的数字
就比如a d e g 是好的,但是你知道b f是坏的。剩下的数字是2, 6 ,8.但是因为c没有亮而且你知道c没有坏,所以你可以排除6和8.答案就只剩下2了
>>> guess_damaged(seven_segment, 'adeg', 'bf')
{'2'}
>>> guess_damaged(seven_segment, 'abed', 'cf')
{'0'}
>>> guess_damaged(seven_segment, '', 'abcdefg')
{'4', '5', '1', '8', '7', '6', '3', '0', '2', '9'}
最佳答案
2020-3-14 22:57:46
def guess_damaged(display, state, damaged):
    result = set()
    set1 = set(state)
    set2 = set(damaged)
    for n, s in display.items():
        if set1 <= s  and (display['8'] - set1 - set2) & s == set():
            result.add(n)
    return result
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-14 22:57:46 | 显示全部楼层    本楼为最佳答案   
def guess_damaged(display, state, damaged):
    result = set()
    set1 = set(state)
    set2 = set(damaged)
    for n, s in display.items():
        if set1 <= s  and (display['8'] - set1 - set2) & s == set():
            result.add(n)
    return result
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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