日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python爱因斯坦的问题_爱因斯坦的思考题.py

發(fā)布時(shí)間:2025/3/15 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爱因斯坦的问题_爱因斯坦的思考题.py 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

"""愛(ài)因斯坦的思考題

這是一個(gè)很有趣的邏輯推理題,傳說(shuō)是愛(ài)因斯坦提出來(lái)的,他宣稱世界上只有2%的人能解出這個(gè)題目,

傳說(shuō)不一定屬實(shí),但是這個(gè)推理題還是很有意思的。

題目是這樣的,據(jù)說(shuō)有五個(gè)不同顏色的房間排成一排,每個(gè)房間里分別住著一個(gè)不同國(guó)籍的人,

每個(gè)人都喝一種特定品牌的飲料,抽一種特定品牌的煙,養(yǎng)一種寵物,沒(méi)有任意兩個(gè)人抽相同品牌的香煙,

或喝相同品牌的飲料,或養(yǎng)相同的寵物,問(wèn)題是誰(shuí)在養(yǎng)魚(yú)作為寵物?

為了尋找答案,愛(ài)因斯坦給出了十五條線索:

(1)、英國(guó)人住在紅色的房子里;

(2)、瑞典人養(yǎng)狗作為寵物;

(3)、丹麥人喝茶;

(4)、綠房子緊挨著白房子,在白房子的左邊;

(5)、綠房子的主人喝咖啡;

(6)、抽PallMall牌香煙的人養(yǎng)鳥(niǎo);

(7)、黃色房子里的人抽Dunhill牌香煙;

(8)、住在中間那個(gè)房子里的人喝牛奶;

(9)、挪威人住在第一個(gè)房子里面;

(10)、抽Blends牌香煙的人和養(yǎng)貓的人相鄰;

(11)、養(yǎng)馬的人和抽Dunhill牌香煙的人相鄰;

(12)、抽BlueMaster牌香煙的人喝啤酒;

(13)、德國(guó)人抽Prince牌香煙;

(14)、挪威人和住在藍(lán)房子的人相鄰;

(15)、抽Blends牌香煙的人和喝礦泉水的人相鄰。

"""

import itertools

import sys

country = ['英國(guó)人', '瑞典人', '丹麥人', '挪威人', '德國(guó)人']

house = ['紅房子', '白房子', '綠房子', '黃房子', '藍(lán)房子']

drink = ['茶', '咖啡', '牛奶', '啤酒', '礦泉水']

smoke = ['PallMall', 'Dunhill', 'Blends', 'BlueMaster', 'Prince']

pet = ['狗', '鳥(niǎo)', '貓', '馬', '魚(yú)']

country_list = list(itertools.permutations(country))

# (9)、挪威人住在第一個(gè)房子里面;

for x in country_list[:]:

if x.index('挪威人') not in [0, 4]:

country_list.remove(x)

house_list = list(itertools.permutations(house))

#(4)、綠房子緊挨著白房子,在白房子的左邊;

for x in house_list[:]:

if x.index('綠房子') - x.index('白房子') not in [-1, 1]:

house_list.remove(x)

#(8)、住在中間那個(gè)房子里的人喝牛奶;

drink_list = [x for x in list(itertools.permutations(drink)) if x[2]=='牛奶']

smoke_list = list(itertools.permutations(smoke))

pet_list = list(itertools.permutations(pet))

a = []

for c in country_list:

for h in house_list:

if c.index('英國(guó)人')!=h.index('紅房子'):

# (1)、英國(guó)人住在紅色的房子里;

continue

if c.index('挪威人') - h.index('藍(lán)房子') not in [-1, 1]:

#(14)、挪威人和住在藍(lán)房子的人相鄰;

continue

for d in drink_list:

if c.index('丹麥人') != d.index('茶'):

# (3)、丹麥人喝茶;

continue

if h.index('綠房子') != d.index('咖啡'):

# (5)、綠房子的主人喝咖啡;

continue

for s in smoke_list:

if c.index('德國(guó)人') != s.index('Prince'):

# (13)、德國(guó)人抽Prince牌香煙;

continue

if h.index('黃房子') != s.index('Dunhill'):

# (7)、黃色房子里的人抽Dunhill牌香煙;

continue

if d.index('啤酒') != s.index('BlueMaster'):

# (12)、抽BlueMaster牌香煙的人喝啤酒;

continue

if d.index('礦泉水') - s.index('Blends') not in [-1, 1]:

# (15)、抽Blends牌香煙的人和喝礦泉水的人相鄰。

continue

for p in pet_list:

if c.index('瑞典人') != p.index('狗'):

# (2)、瑞典人養(yǎng)狗作為寵物;

continue

if s.index('PallMall') != p.index('鳥(niǎo)'):

# (6)、抽PallMall牌香煙的人養(yǎng)鳥(niǎo);

continue

if s.index('Blends') - p.index('貓') not in [-1, 1]:

# (10)、抽Blends牌香煙的人和養(yǎng)貓的人相鄰;

continue

if s.index('Dunhill') - p.index('馬') not in [-1, 1]:

# (11)、養(yǎng)馬的人和抽Dunhill牌香煙的人相鄰;

continue

plan = [c, h, d, s, p]

print(c[p.index('魚(yú)')])

sys.exit()

一鍵復(fù)制

編輯

Web IDE

原始數(shù)據(jù)

按行查看

歷史

總結(jié)

以上是生活随笔為你收集整理的python爱因斯坦的问题_爱因斯坦的思考题.py的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。