这是我的字典:
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'}}
我创建了一个函数:
def guess_damaged(display, state, damaged):
sorted_state = ''.join(sorted(state))
sorted_damaged = ''.join(sorted(damaged))
for key in display:
templist = list(display[key])
templist = sorted(templist)
templist = ''.join(templist)
if(templist == sorted_state):
return {key for key,value in display.items() if all(sorted_damaged in value for sorted_damaged in sorted_state)}
print(guess_damaged(seven_segment, 'adeg', 'bf'))
print(guess_damaged(seven_segment, 'abed', 'cf'))
print(guess_damaged(seven_segment, '', 'abcdefg'))
我的当前输出如下所示:
None
None
None
但是,这是我想要的输出:
{'2'}
{'0'}
{'4', '5', '1', '8', '7', '6', '3', '0', '2', '9'}
如何获得所需的输出?
发布于 2020-03-15 06:57:54
当排序时,seven_segment字典中没有等于'adeg‘、'abed’或'‘的值,因此"if (templist == sorted_state)“行:”从不为真“。
https://stackoverflow.com/questions/60690322
复制相似问题