首页 > 解决方案 > 刽子手游戏(Python)

问题描述

我正在用 Python 制作一个简单的 Hangman 游戏。但是,我在以下代码中遇到了一些问题

newword=""

def update(word,guessword,ch):
    for i in range(len(guessword)-1):
        if ch==word[i]:
            print(i)
            if i==0:
                newword=ch + guessword[1:]
            else:
                newword=guessword[0:i-1] + ch + guessword[i+1]
    return newword

此更新函数在找到匹配项时调用,用于更新猜测词。这里的guessword 是一个字符串,每个不匹配的位置都包含“_”。字符串单词包含原始单词。ch 是在原始单词中找到的字母。

标签: python

解决方案


  1. 使用range(len(guessword)):. -1不需要,已经range排除了上限。
  2. 最后使用guessword[i+1:]- 你忘记了:. 否则它只是一个字符。

那应该可以修复您现有的代码。为了使它更好,我建议制作guessword一个list字符,以便您可以修改它,然后整个事情会变得简单得多。也使用enumerate代替range.


推荐阅读