python實現(xiàn)春晚魔術(shù)的示例代碼
大家好,我看了春晚拿杯子的魔術(shù),想著著肯定有時數(shù)學(xué)問題,就試著用python實現(xiàn)了一下
打亂勺子、筷子、杯子的順序
我們可以用以下代碼實現(xiàn):
import random kuaizi = '筷子' shaozi = '勺子' beizi = '杯子' l = [kuaizi, shaozi, beizi] random.shuffle(l)
筷子和左邊的互換
i = l.index(kuaizi) if i != 0: l[i-1], l[i] = l[i], l[i-1]
杯子和右邊的互換
i = l.index(beizi) if i != 2: l[i+1], l[i] = l[i], l[i+1]
勺子和左邊的互換
i = l.index(shaozi) if i != 0: l[i-1], l[i] = l[i], l[i-1]
拿起東西
print("左手:",l[0],"右手:",l[2])
輸出可知,無論怎么運(yùn)行,都輸出的是右手拿杯子,讓我們來驗證一下:
import random kuaizi = '筷子' shaozi = '勺子' beizi = '杯子' j = 0 for _ in range(1000000): l = [kuaizi, shaozi, beizi] random.shuffle(l) # 筷子和左邊的互換 i = l.index(kuaizi) if i != 0: l[i-1], l[i] = l[i], l[i-1] #杯子和右邊的互換 i = l.index(beizi) if i != 2: l[i+1], l[i] = l[i], l[i+1] #勺子和左邊的互換 i = l.index(shaozi) if i != 0: l[i-1], l[i] = l[i], l[i-1] if l[2] == beizi: j += 1 print(j/1000000)
最后輸出1.0,說明右手一定會拿起杯子的,有人能解釋一下嗎
到此這篇關(guān)于python實現(xiàn)春晚魔術(shù)的示例代碼的文章就介紹到這了,更多相關(guān)python 春晚魔術(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python利用openpyxl類實現(xiàn)在Excel中繪制樂高圖案
在商場看到一個超級瑪麗的樂高圖,感覺使用excel的顏色填充也能畫出來。所以本文將借助openpyxl類實現(xiàn)在Excel中繪制樂高圖案,需要的可以參考一下2022-12-12Django Haystack 全文檢索與關(guān)鍵詞高亮的實現(xiàn)
這篇文章主要介紹了Django Haystack 全文檢索與關(guān)鍵詞高亮的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02python 讀寫、創(chuàng)建 文件的方法(必看)
下面小編就為大家?guī)硪黄猵ython 讀寫、創(chuàng)建 文件的方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09python opencv 實現(xiàn)對圖像邊緣擴(kuò)充
今天小編就為大家分享一篇python opencv 實現(xiàn)對圖像邊緣擴(kuò)充,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01