搜索Python list并返回2个或更多相同的ch

2024-04-23 19:19:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始学习Python,我正在制作游戏《刽子手》。我已经完成了基本功能。我有一个单子,里面有单词,它们是随机选择的。我有一个输入,让用户猜测字母,并对照单词被分割成的列表进行检查,我有另一个列表,正确猜测的字母被放在随机选择的单词的位置。在

只有在第一个字母里加上一个词,我才会发现它有问题。我该如何查找一封信的所有实例并添加它们?在

这是我用来将猜测的字母与随机选择的单词对应起来的代码。在

if user_input in choose_word:
    print "Good guess!"
    print trys_remaining, "trys remaining!"
    word_index = letter_list.index(user_input)
    correct_letters[word_index] = user_input

如果有人能为我指出正确的方向,那就太好了。在


Tags: 用户游戏列表inputindex字母基本功能单词
2条回答

您可以使用列表理解:

correct_letters = [letter if user_input == letter else correct
                   for (correct, letter) in zip(correct_letters, letter_list)]

请注意,这将创建一个新的correct_letters列表 修改原来的那个。在

您需要遍历所有匹配的索引:

for word_index, letter in enumerate(letter_list):
    if letter == user_input:
        correct_letters[word_index] = user_input

注意:如果循环是for letter in letter_list:,那么您将只迭代字母,但不会得到相应的索引。enumerate()函数允许同时获取索引。 另请参见enumerate documentation。在

相关问题 更多 >