【发布时间】:2018-08-16 07:01:03
【问题描述】:
这是我的第一篇文章,感谢您的帮助。
我正在解决 Python 中的一个问题,我需要创建一个hangman 程序,但我遇到了一个问题,我有点卡住了。我已经制定了我想要做的框架,但我被语法困住了。
本质上,我正在编写一个函数,给定一个单词和一个字母列表,我必须返回一个字符串,该字符串显示哪些字母是正确的猜测以及单词中的哪些位置仍然是空白的。例如,如果秘密单词是'apple',并且猜测的字母列表是['e', 'i', 'k', 'p', 'r', 's'],那么函数应该返回'_ pp_ e'。
我解决这个问题的方法是为秘密单词创建一个变量,并遍历每个字母以检查它是否在猜测的字母列表中。如果它在列表中,则该字母将保留;如果不是,它将被替换为“_”。迭代结束后,函数将返回secretWord变量。
到目前为止,这是我的代码:
def getGuessedWord(secretWord, lettersGuessed):
'''
secretWord: string, the word the user is guessing
lettersGuessed: list, what letters have been guessed so far
returns: string, comprised of letters and underscores that represents
what letters in secretWord have been guessed so far.
'''
for i in secretWord:
if i not in lettersGuessed:
secretWord[len(i)] == '_ '
return secretWord
我的问题在于函数的第三行 (secretWord[len(i)] == '_')。我不知道如何让 Python 用“_”替换我想要的字母。由于'i'是一个字符,而不是一个整数,我不能说secretWord[i] = '_'。我承认我有点初学者,操作字符串对我来说仍然很困难,所以对于有更多经验的人来说,这可能是一个非常容易解决的问题。
再次感谢您的帮助!
【问题讨论】:
标签: string python-3.x iteration