Python 有没有办法只检查列表中两个值相同的值
我正在制作一个刽子手游戏,我很快就要完成了,我只有一个问题: 如果输入的单词有两个相同的字母,它将不起作用。我知道问题是什么,系统正在检查过去的字母,因为它已经找到了值,我只是不知道如何解决它 有没有办法让代码填充列表中的两个空格 代码如下:Python 有没有办法只检查列表中两个值相同的值,python,arrays,list,Python,Arrays,List,我正在制作一个刽子手游戏,我很快就要完成了,我只有一个问题: 如果输入的单词有两个相同的字母,它将不起作用。我知道问题是什么,系统正在检查过去的字母,因为它已经找到了值,我只是不知道如何解决它 有没有办法让代码填充列表中的两个空格 代码如下: #make player one or computer pick word mainword = input("Enter your word\n").lower() #varibels builtword = [] correct
#make player one or computer pick word
mainword = input("Enter your word\n").lower()
#varibels
builtword = []
correctLetters = list(mainword)
#establish length of build word
for x in range(len(mainword)):
builtword.append('*')
#make player two guess letter
userGuess = input("Guess letter\n").lower()
#main code
while builtword != correctLetters:
if userGuess in correctLetters:
print('That was correct')
builtword[correctLetters.index(userGuess)] = userGuess
print(builtword)
if builtword != correctLetters:
userGuess = input("Guess letter").lower()
else:
print('sorry that\'s wrong try again')
userGuess = input("Guess letter").lower()
因此,在这种情况下,假设我们使用HELLO并键入L,是否有任何方法可以将L(2和3)的值或us 3和4都填入builtword
?尝试以下方法:
#make player one or computer pick word
mainword = input("Enter your word\n").lower()
#varibels
builtword = list('*'*len(mainword))
correctLetters = list(mainword)
#make player two guess letter
userGuess = input("Guess letter\n").lower()
#main code
while builtword != correctLetters:
if userGuess in correctLetters:
print('That was correct')
char_count = correctLetters.count(userGuess)
if char_count == 1:
builtword[correctLetters.index(userGuess)] = userGuess
print(builtword)
else:
index = -1
for _ in range(char_count):
index = correctLetters.index(userGuess, index+1)
if builtword[index] != userGuess:
builtword[index] = userGuess
break
if builtword != correctLetters:
userGuess = input("Guess letter").lower()
else:
print('sorry that\'s wrong try again')
userGuess = input("Guess letter").lower()
检查代码缩进请在字符串中进行操作,更改
buildword
如果字符串中的字母匹配,请详细说明什么?遍历字符串?请重复您的字符串处理教程;这里应该有几个例子。是的,这解决了一些非常微小的缺陷,但我可以修复它,有一种方法可以同时填补这两个缺陷吗?@devahschaeffers这么简单,只需删除break