b009: 無限猴子定理
"""
無限猴子定理的表述如下:讓一隻猴子在打字機上隨機地按鍵,
當按鍵時間達到無窮時,幾乎必然能夠打出任何給定的文字,
比如莎士比亞的全套著作。
(引用自維基百科)這是機率論裡學者提出的一個例子,
但是現實生活中,不可能有猴子可以活到無窮,
也有學者提出猴子要打出一句合乎文法的句子的機率可以說是趨近於零,
所以我們現在將它做一點修改,就是如果猴子打的文字,去掉某幾個字
元之後,如果符合我們給定的文字,就算達成任務了。
現在給你一個指定的文字和猴子輸入的文字,請你檢查是不是符合我們的條件。
輸入說明:
輸入兩個字串,第一個是指定的文字,第二個是猴子輸入的文字。
輸出說明:
如果猴子輸入的文字去掉某幾個(包含0個)字元之後,可以和指定的文字完全相同,
則輸出 YES,否則輸出 NO。(註:大小寫視為不同字元)
範例輸入:
輸入1:
ABC AXBXC
輸入2:
YES YyesS
範例輸出 :
輸出1:
YES
輸出2:
NO
"""
list1=str(input("第一個是指定的文字 -->"))
list2=str(input("第二個是猴子輸入的文字-->"))
#l = ['a', 'b', 'c']
#print(set(['a', 'b']) <= set(l))
list3=[]
for i in range(0,len(list2)):
y=list2[i]
if (set(y) <= set(list1)):
#print('T',end='')
list3.append(y)
#else:
#print('F',end='')
print(list3)
for i in range(0,len(list3)):
y=list3[i:i+len(list1)]
#print("比對",i,set(y),"----",set(list1))
if (set(y) <= set(list1)) and ( len(set(y))==len(set(list1))) :
print(i,"____Yes____")
break;
else:
print(i,"____NO_____")
====================== RESTART: F:/Python_APSC/b009.py ======================
第一個是指定的文字 -->abc
第二個是猴子輸入的文字-->axbxbxbxbxbxbxaxbxbxaxbxcxbxbxb
['a', 'b', 'b', 'b', 'b', 'b', 'b', 'a', 'b', 'b', 'a', 'b', 'c', 'b', 'b', 'b']
0 ____NO_____
1 ____NO_____
2 ____NO_____
3 ____NO_____
4 ____NO_____
5 ____NO_____
6 ____NO_____
7 ____NO_____
8 ____NO_____
9 ____NO_____
10 ____Yes____
>>>
====================== RESTART: F:/Python_APSC/b009.py ======================
第一個是指定的文字 -->YES
第二個是猴子輸入的文字-->YyesS
['Y', 'S']
0 ____NO_____
1 ____NO_____
>>>
訂閱:
張貼留言 (Atom)
2024_09 作業3 以Node-Red 為主
2024_09 作業3 (以Node-Red 為主 Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker 2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...
-
python pip 不是内部或外部命令 -- 解決方法 要安裝 Pyqt5 1. 首先,開啟命令提示字元。 2. 輸入 pip3 install pyqt5 好像不能執行 ! ! 錯誤顯示 : ‘ pip3 ’ 不是內部或外部命令、可執行的程式或批...
-
課程講義 下載 11/20 1) PPT 下載 + 程式下載 http://www.mediafire.com/file/cru4py7e8pptfda/106%E5%8B%A4%E7%9B%8A2-1.rar 11/27 2) PPT 下載...
-
• 認 識 PreFix、InFix、PostFix PreFix(前序式):* + 1 2 + 3 4 InFix(中序式): (1+2)*(3+4) PostFix(後序式):1 2 + 3 4 + * 後 序式的運算 例如: 運算時由 後序式的...
沒有留言:
張貼留言