我正在用Python做一個hang子手遊戲,我想通過跟蹤當前單詞的一個好方法是字典。每個字母都會被一個關鍵字捕獲,其布爾值代表玩家是否猜到了該字母。爲了簡單起見,我假定唯一允許的輸入是猜測(即,即使玩家立刻知道這個詞,他或她必須完成[正確]填充空白)。因此,每次猜測(假設該男子還沒有被掛起),我會檢查字典值是否全爲真,在這種情況下玩家獲勝。用特殊的配對鍵初始化Python字典
兩個問題:
請問上述表示的聲音是否合理?
如果是這樣,就會產生密鑰以解釋重複字母的問題。我想過使用元組;例如,這裏是字的初始表示「編程」
('p', 0) : False
('r', 0) : False
('o', 0) : False
('g', 0) : False
('r', 1) : False
('a', 0) : False
('m', 0) : False
('m', 1) : False
('i', 0) : False
('n', 0) : False
('g', 1) : False
在該對中的第二項僅僅是該字母的發生的索引;因此,當我迭代單詞時,第一項仍可用於標記正確猜測的字母。
給一個字作爲一個字符串,是否有一種緊湊的方式來創建一個字典如上?我可以看到類似這樣的東西:
word = "programming"
word_dict = { (letter, ???) : False for letter in word }
,其中???是一些聰明的計數表達。還是我需要明確地做,並跟蹤循環中的事情?
如果一個字母重複與否沒關係;玩家猜對了或者他們沒有。重複不會涉及到這一點。 – 2014-09-19 17:30:34
*拍自拍*哦。儘管有類似的結構來顯示進度,但它可能還是有用的嗎? (例如,'_ A _ _A L _'在轉彎後被印刷到控制檯上) – nicole 2014-09-19 21:38:10
不是;請參閱下面的答案;你只需要循環猜字,並檢查字典,看看字母是否已被猜到。 – 2014-09-19 22:32:48