题目描述:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第一,我第三。
B选手说:我第二,E第四。
C选手说:我第一,D第二。
D选手说:C最后,我第三。
E选手说:我第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
解题思路:除了上面的条件之外,还要添加的一个条件就是排在第n位的人前面必须有n-1个人,用枚举法列出所有可能出现的比赛排名,保留符合条件的。
players = ['A', 'B', 'C', 'D', 'E']
n = 0
for a in range(1, 6):
for b in range(1,6):
for c in range(1,6):
for d in range(1,6):
for e in range(1,6):
if (b == 1) + (a == 3) == 1:
if (b == 2) + (e == 4) == 1:
if(c == 1) + (d == 2) == 1:
if (c == 5) + (d == 3) == 1: