如何检查字母是否在字符串中

时间:2016-11-17 19:09:20

标签: python

我正在制造吊人。

我让用户一次输入一个字母,我有两个不同的列表,包含正确和错误的字母。这个问题出于某种原因,无论我写的是什么,无论我做什么,这封信都会出错。例如世界“你好”

如果用户输入“h”

右边的框应该看起来像这个“h” 错误的方框应该是空的 如果用户输入f右框应该看起来像这个“h” 错误的框应该看起来像这个“f”等等。

我认为我为它做了一个完美的逻辑,但它似乎没有正常工作,因为用户输入的所有内容似乎都是错误的方框。我的代码附在图片中 enter image description here

2 个答案:

答案 0 :(得分:1)

word = 'hello'
right_letters = []
wrong_letters = []

def guess(letter):
    if letter in word:
        right_letters.append(letter)
    else:
        wrong_letters.append(letter)

答案 1 :(得分:0)

快速修复!!!

替换以下两行:

hold_random_word = []
hold_random_word.append(random_word)

使用:

hold_random_word = [i for i in random_word]

你的代码会运行!!!

代码中的问题:

因为hold_random_word是一个字符串列表。所以当你写:

if i in hold_random_word:

它会将hold_random_word列表中的每个字符串与i进行比较。

例如,如果hold_random_word = ["str","str1","str2"]和字符ch = 's',则表达式if ch in hold_random_word:会将ch(即's')与"str"进行比较({{1 })然后if 's' == "str" ?"str1"否)然后if 's' == "str1" ?"str2"否)。找不到匹配项,因此会返回if 's' == "str2" ?