answers = dict()
persons = ['A', 'B', 'C', 'D']
# get answers
for person in persons:
print('Ask {}'.format(person))
answer = dict()
total = {'0': 0, '1': 0, '2': 0}
for p in :
value = input('Is {} the prisoners? 0: No, 1: Yes, 2 Unknown: '.format(p))
while value not in ['0', '1', '2']:
value = input('Bad input, chose from: 0: No, 1: Yes, 2 Unknown: ')
total += 1
answer = int(value)
mapping = {'是凶手票数': total['1'], '不是凶手票数': total['0'], '不知道票数': total['2']}
answers =
# judge prisoners
for k, v in answers.items():
print('{}: {}, 投票情况: {}'.format(k, v, v))
result = sorted(answers.items(), key=lambda x: x['是凶手票数'])[-1]
print('凶手是{}'.format(result))
执行过程:
Ask A
Is B the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is C the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is D the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Ask B
Is A the prisoners? 0: No, 1: Yes, 2 Unknown: 2
Is C the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is D the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Ask C
Is A the prisoners? 0: No, 1: Yes, 2 Unknown: 2
Is B the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is D the prisoners? 0: No, 1: Yes, 2 Unknown: 2
Ask D
Is A the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is B the prisoners? 0: No, 1: Yes, 2 Unknown: 1
Is C the prisoners? 0: No, 1: Yes, 2 Unknown: 1
A: {'是凶手票数': 3, '不是凶手票数': 0, '不知道票数': 0}, 投票情况: {'B': 1, 'C': 1, 'D': 1}
B: {'是凶手票数': 2, '不是凶手票数': 0, '不知道票数': 1}, 投票情况: {'A': 2, 'C': 1, 'D': 1}
C: {'是凶手票数': 1, '不是凶手票数': 0, '不知道票数': 2}, 投票情况: {'A': 2, 'B': 1, 'D': 2}
D: {'是凶手票数': 3, '不是凶手票数': 0, '不知道票数': 0}, 投票情况: {'A': 1, 'B': 1, 'C': 1}
凶手是D
不足:如果有票数相同的,会只打印最后一个
页:
[1]