题目
7.甲、乙、丙、丁四人中有一人做了好事不留名。请大家编写程序,根据以下线索找出做好事的人。
甲说:不是我。
乙说:是丙。
丙说:是丁。
丁说:丙说的不对。
其中三人说的是真话,一人说的假话。
提示
(1)假设变量x表示做好事的人,则其应满足以下条件:
(x !="甲")+ (x=="丙")+(x=="丁")+(x !="丁")==3
(2)假设列表lst=["甲","乙","丙","丁"],存放了所有可能的情况。对列表lst进行遍历,对其中每一种情况进行判断,符合以上条件的即为正确答案。
参考代码
lit =["甲","乙","丙","丁"]
for i in lit:
x = i
if (x!="甲")+(x=="丙")+(x=="丁")+(x!="丁")==3:
print(i+"是做好事的人。")
break
运行结果
丙是做好事的人。
说明
此方法仅供学习参考,欢迎讨论