填写空格不会填写重复字母(简单程序)

时间:2017-12-08 13:52:50

标签: python

我正在制作一个程序,有人必须填写一个单词的空白。应该用给定的猜测填充正确的空白,然后该列表继续进行,以便他们可以继续猜测10次尝试。这是一个相对简单的代码。

var department = Mapper.Map<DepartmentEntity, DepartmentViewModel>(departmentEntity,
  opt => opt.AfterMap((src, dest) => dest.Label = src.Labels.FirstOrDefault(x=> 
                                       x.CultureInfo.Name == user.Culture.Name)?.Value));

基本上,我的程序不会多次打印一封信。

  

E.g。如果我输入“n”,它将不会多次打印“n”,即使“n”在“nonagon”中出现3次。我假设它在“nonagon”中看到第一个“n”,并且只看到那个。

即使他们重复,我怎么会打印信件呢?

2 个答案:

答案 0 :(得分:2)

wordlist.index(i)在每次迭代中返回iwordlist的相同(第一次)出现,而不是将for循环替换为:

for p, i in enumerate(wordlist):
    if i == guess:
        blanks[p]=guess
        attempts-=1

答案 1 :(得分:0)

解决方案

word = "nonagon"
guessword = ""
for i in word:
    guessword += "_"
for i in range(10):
    guess = raw_input("Take a guess: ")
    guess = guess[0]
    new_guessword = ""
    j = 0
    for ch in word:
        if guess == ch:
            new_guessword += ch
        else:
            new_guessword += guessword[j]
        j += 1
    guessword = new_guessword
    if word == guessword:
        print("You solved it!!")
    else:
        print(guessword)