我正在创建一个hangman程序,并使用list()
函数将单词转换为一个列表,其中每个字母都是自己的元素。当用户输入字母作为猜测时,我希望从列表中删除该字母。我试过list.remove(obj)
函数,但当我在shell中键入列表的名称时,没有删除任何字母。你知道吗
wordList=list(word)letter=input("please enter a letter") if len(letter)>1: print('invalid input, you may only enter one letter at a time') elif letter.isalpha(): if letter in letters: print('you have already entered this letter') else: letters.append(letter) if any(letter in s for s in wordList,): print(letter,"is in the word") wordList.remove(letter)
为长度编辑。
你知道为什么这些字母没有从wordList
中删除吗?你知道吗
我可以运行你的代码。建议对删除多个字母进行小改动。
你知道吗列表.删除()-仅删除字母的第一个匹配项。您可以使用:
我重新创造了这个,它对我起了作用:
不过,我认为这不是解决问题的正确方法,因为.remove()只处理列表中的第一个匹配项,您可以尝试以下操作
这样,你就没有了一个完整的列表,每次插入正确的字母都会删除,你就会有一个空的(实际上充满了“\”字符)列表,每次插入正确的字母都会将字母添加到它的位置,这样你就可以像这样打印当前单词了
我做了一个这样的游戏,它在我的github,说明是西班牙语,但很容易跟进
相关问题 更多 >
编程相关推荐