Python 输入重复字母时列表索引超出范围
我正在用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_
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]:
是错误的。你为什么在这里使用索引
?