【四大湖问题】
上地理课时,四个学生回答我国四个淡水湖大小情况时,回答如下:
A学生:洞庭湖最大,洪泽湖最小,鄱阳湖第3
B学生:洪泽湖最大,洞庭湖最小,鄱阳湖第2,太湖第3
C学生:洪泽湖最小,洞庭湖第3
D学生:鄱阳湖最大,太湖最小,洪泽湖第2,洞庭第3
对于湖的大小情况,每个学生仅答对一个。请编写程序,输出四个湖的大小情况.
python实现代码如下:
#、四大湖问题
#上地理课时,四个学生回答我国四个淡水湖大小情况时,回答如下:
# A学生:洞庭湖最大,洪泽湖最小,鄱阳湖第3
# B学生:洪泽湖最大,洞庭湖最小,鄱阳湖第2,太湖第3
# C学生:洪泽湖最小,洞庭湖第3
# D学生:鄱阳湖最大,太湖最小,洪泽湖第2,洞庭第3
#对于湖的大小情况,每个学生仅答对一个。请编写程序,输出四个湖的大小情况.
for dongtinghu in range(1,5):
for hongzehu in range(1,5):
for panyanghu in range(1,5):
for taihu in range(1,5):
#限定最终排名不会出现并列情况 1+2+3+4=10 1*2*3*4=24
if (dongtinghu+hongzehu+panyanghu+taihu==10) and (dongtinghu*hongzehu*panyanghu*taihu==24):
#A说的只有一句是正确的 所有情况
if (dongtinghu==1 and hongzehu!=4 and panyanghu!=3) or (dongtinghu!=1 and hongzehu==4 and panyanghu!=3) or (dongtinghu!=1 and hongzehu!=4 and panyanghu==3):
# B说的只有一句是正确的 所有情况
if(hongzehu==1 and dongtinghu!=4 and panyanghu!=2 and taihu!=3) or (hongzehu!=1 and dongtinghu==4 and panyanghu!=2 and taihu!=3) or (hongzehu!=1 and dongtinghu!=4 and panyanghu==2 and taihu!=3) or (hongzehu!=1 and dongtinghu!=4 and panyanghu!=2 and taihu==3):
# C说的只有一句是正确的 所有情况
if (hongzehu==4 and dongtinghu!=3) or (hongzehu!=4 and dongtinghu==3):
# C说的只有一句是正确的 所有情况
if (panyanghu==1 and taihu!=4 and hongzehu!=2 and dongtinghu!=3) or (panyanghu!=1 and taihu==4 and hongzehu!=2 and dongtinghu!=3) or (panyanghu!=1 and taihu!=4 and hongzehu==2 and dongtinghu!=3) or (panyanghu!=1 and taihu!=4 and hongzehu!=2 and dongtinghu==3):
#满足所有情况的只有一种结果,输出显示
print("洞庭湖的排名为", dongtinghu)
print("洪泽湖的排名为", hongzehu)
print("潘阳湖的排名为", panyanghu)
print("太湖的排名为", taihu)