索引没有发现2次出现的字母

时间:2016-08-01 00:48:14

标签: python python-3.x indexing

我正在python 3中创建一个刽子手游戏,除了游戏的一部分之外,所有游戏似乎都很好。例如,“你好”这个词。你好包含两个' l。我的游戏无法识别您可以在一个单词中出现多个字母,因此不会更新游戏。以下是该程序的运行方式 - 输入' L'

The number of times  L  occured was  2
('WORD:', 'HEL*O', '; you have ', 10, 'lives left')
Please input a letter:

(顺便说一句,我知道印刷品很乱,我还没有完成整理,但是大声笑)

你可以看到,' L'只允许我在Hello游戏中获得一个L而不是像在刽子手游戏中所期望的那样获得所有这些。

1 个答案:

答案 0 :(得分:1)

我认为您还误解了index的第二个参数,它是搜索的起始索引,而不是要查找的第n个匹配项。现在发生的是你正在取代第一个" L"两次。

string.index(s, sub[, start[, end]])
    Like find() but raise ValueError when the substring is not found.

找到的地方说:

Return the lowest index in s where the substring sub is found such that sub is wholly contained in s[start:end].

所以,你不需要indcount变量,这是要找到的第n个L,你需要找到最后找到的L的位置,再加上1.替换" indcount"用" pos + 1"这样它就可以搜索到最后一次找到的字母,并且它应该按预期工作。

相关问题