Python 输入重复字母时列表索引超出范围

Python 输入重复字母时列表索引超出范围,python,Python,我正在用Python制作一个类似于刽子手的游戏,我想知道如何检测某个元素是否在列表的索引中 比如说, wordlist = [a, r, r, a, y] correct_guesses = [a, r, y] if letter_guess in word: for index in range(len(wordlist)): if wordlist[index] == letter_guess: if letter_

我正在用Python制作一个类似于刽子手的游戏,我想知道如何检测某个元素是否在列表的索引中

比如说,

wordlist = [a, r, r, a, y]
correct_guesses = [a, r, y]


if letter_guess in word:
        for index in range(len(wordlist)):
            if wordlist[index] == letter_guess:
                if letter_guess not in correct_guesses[index]:
                    correct_guesses.insert(index, letter_guess)
                if letter_guess in guesses:
                    c.clear()
                    guess()
                else:
                    guesses.append(letter_guess)
                    c.clear()
                    guess()
    elif letter_guess not in word:
        if letter_guess in guesses:
            c.clear()
            guess()
        else:
            guesses.append(letter_guess)
            c.clear()
            guess()
这将返回超出范围的错误列表索引
如何解决此问题?

正确的猜测[索引]应该是正确的猜测否[]


如果您给出c的代码并进行猜测,我可以进一步帮助您

这不是典型的Stackoverflow答案,但我想我可以提供一些关于您发布的代码片段的教学要点。代码中有很多问题,所以我认为这种方法将是帮助您完成任务的最友好的方法

(1) Python使遍历列表变得非常容易。代码段中更复杂的方法让人想起C,其中数字索引是递增的。在Python中,请尝试:

wordlist = [ 'array', 'banana', 'duck' ]
for word in wordlist:
     print word
(2) Python使遍历字符串变得非常容易:

word = 'foo'
for letter in word:
     print letter
(3) 检测元素是否在列表中同样简单:

print( 'dog' in [ 'cat', 'dog', 'mouse' ] )
(4) 要检测字母是否在字符串中,请继续使用相同的模式:

print( 'g' in 'frog' )
单词列表和字符串的代码看起来很相似,因为Python将列表和字符串都视为序列的子类型


祝你Python之旅好运。

你的代码至少有两个语法错误阻止它运行:缩进错误和非法的
if
语句。此时你的代码示例将抛出一个错误:
NameError:name'a'未定义
。抱歉,我输入了错误的代码,现在更改了,一些变量可能不在这里,但代码处于打开状态,我们无法使用此代码。缩进到处都是,我们缺少对错误的完整回溯。您试图使用
索引
索引到
单词列表
更正猜测
,这是没有意义的,因为它们的长度不同。例如:
如果字母猜得不正确[index]:
是错误的。你为什么在这里使用
索引