0

我正在尝试在 python 中创建一个刽子手游戏,一个特定的功能给我带来了麻烦。我想打印用户可以选择的所有可用字符集。所以我从available ='abcdefghijklmnopqrstuvwxyz'开始,如果我的secretWord是'apple'并且用户在第一次尝试时猜测'a',那么下一轮的新可用字符集available ='bcdefghijklmnopqrstuvwxyz'。我尝试将如下所示的东西放在一起,但它不起作用,一些字符确实被消除了,但如果我输入“z”,例如,它仍然保留在可用的字符串中。

if letter in lettersGuessed: 
                print('Oops! you\'ve already guessed that letter, try again: ')
elif letter in secretWord: #this is the part giving me trouble
                c = available.find(letter)
                available = available[0:c] + available[c+1:]

此外,如果除了字符串切片之外还有任何其他功能或方法可以使这更容易,我也将不胜感激。

4

1 回答 1

0

有一个更简单的方法使用replace.

>>> available = 'abcdefghijklmnopqrstuvwxyz'
>>> secret = 'apple'
>>> if 'a' in secret:
...   available = available.replace('a','')
... 
>>> available
'bcdefghijklmnopqrstuvwxyz'
于 2013-03-30T02:58:07.623 回答