繁体   English   中英

替换列表中的字符

[英]Replacing characters in list

简而言之,我写了一个小游戏,用户看到隐藏的单词并需要猜测我出现的字母。 我成功了大部分,但是当字母多次出现在单词中时,它无法完成单词。

def len_of_word(word):
   return word.replace(word,'_'*len(word))

def show_hidden_word(secret_word, old_letters_guessed):
    hidden = len_of_word(secret_word)
    new_string = list(hidden)
    x = 0
    for i in old_letters_guessed:
       if i in secret_word:
          x = secret_word.find(i)
          new_string[x] = new_string[x].replace(new_string[x], i)
    return " ".join(new_string)
print(show_hidden_word("aviva" , ['m', 'a', 'i', 'r', 'v', 'o', 'm']))

在这种情况下,打印将是

avi _ _

迭代secret_word而不是old_letters_guessed 为了保持你的结构:

def len_of_word(word):
   return word.replace(word,'_'*len(word))

def show_hidden_word(secret_word, old_letters_guessed):
    hidden = len_of_word(secret_word)
    new_string = list(hidden)
    x = 0
    for i, l in enumerate(secret_word):
       if l in old_letters_guessed:
          new_string[i] = l
    return " ".join(new_string)
print(show_hidden_word("aviva" , ['m', 'a', 'i', 'r', 'o', 'm']))

输出:

a _ i _ a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM