python 珠玑妙算
生活随笔
收集整理的這篇文章主要介紹了
python 珠玑妙算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
珠璣妙算游戲(the game of master mind)的玩法如下。計算機有4個槽,每個槽放一個球,顏色可能是紅色(R)、黃色(Y)、綠色(G)或藍色(B)。例如,計算機可能有RGGB 4種(槽1為紅色,槽2、3為綠色,槽4為藍色)。作為用戶,你試圖猜出顏色組合。打個比方,你可能會猜YRGB。要是猜對某個槽的顏色,則算一次“猜中”;要是只猜對顏色但槽位猜錯了,則算一次“偽猜中”。注意,“猜中”不能算入“偽猜中”。給定一種顏色組合solution和一個猜測guess,編寫一個方法,返回猜中和偽猜中的次數answer,其中answer[0]為猜中的次數,answer[1]為偽猜中的次數。示例:輸入: solution="RGBY",guess="GGRR"
輸出: [1,1]
解釋: 猜中1次,偽猜中1次。
class Solution:"""解體思路: 兩次fo循環1. 第一次for循環過濾出猜中的個數2. 第二次for循環過濾出偽猜中的個數分別用s_list和g_list 來標記那些是猜中的和偽猜中的,不能重復使用"""def masterMind(self, solution: str, guess: str) -> List[int]:s_list = [0, 0, 0, 0]g_list = [0, 0, 0, 0]for i in range(4):if solution[i] == guess[i]:s_list[i] = 1g_list[i] = 1for s_index, s_val in enumerate(solution):for g_index, g_val in enumerate(guess):if s_list[s_index]:breakif g_list[g_index]:continueif s_val == g_val:s_list[s_index] = -1g_list[g_index] = -1return [s_list.count(1), s_list.count(-1)]
總結
以上是生活随笔為你收集整理的python 珠玑妙算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 一次编辑
- 下一篇: python 井字游戏