我的目标是:
在Lingo游戏中,有一个隐藏的单词,长度为五个字符。该游戏的目的是通过猜测来找到这个单词,并获得两种类型的提示:1)已完全正确匹配的字符(包括字符的身份和位置),以及2)确实存在于单词中但位置不正确的字符。编写一个程序来玩Lingo游戏。使用方括号标记在1)意义上正确的字符,使用普通括号标记在2)意义上正确的字符。
当前代码:
目前,无论这些单词是否具有相同的词性,只要它们共享一个字母,就会将该字母放入方括号中。
例如: 正确: - 单词:
在Lingo游戏中,有一个隐藏的单词,长度为五个字符。该游戏的目的是通过猜测来找到这个单词,并获得两种类型的提示:1)已完全正确匹配的字符(包括字符的身份和位置),以及2)确实存在于单词中但位置不正确的字符。编写一个程序来玩Lingo游戏。使用方括号标记在1)意义上正确的字符,使用普通括号标记在2)意义上正确的字符。
当前代码:
def lingo():
import random
words = ['pizza', 'motor', 'scary', 'motel', 'grill', 'steak', 'japan', 'prism', 'table']
word = random.choice(words)
print word
while True:
guess = raw_input("> ")
guess = list(guess.lower())
word = list(word)
for x in guess:
if x in word:
if x == word[word.index(x)]:
guess[guess.index(x)] = "[" + x + "]"
else:
guess[guess.index(x)] = "(" + x + ")"
print guess
lingo()
目前,无论这些单词是否具有相同的词性,只要它们共享一个字母,就会将该字母放入方括号中。
例如: 正确: - 单词:
Table
- 我的猜测:Cater
- 输出:C[a](t)(e)r
不正确:
- 单词:Japan
- 我的猜测:Ajpan
(注意 a 和 j 的切换,我是故意这样做的)。
- 输出:[A][j][p][a][n]
(应该是 (a)(j)[p][a][n]
)