首页 > 解决方案 > 创建一个刽子手游戏

问题描述

我正在创建一个刽子手游戏,但遇到了一个我似乎无法解决的问题。以下是我正确输入字母的代码:

            for i, l in enumerate(answer):
                if l == attempt:
                    temp += attempt
                else:
                    temp += hidden[i]
            print(F"Correct! You have {lives} lives left")
            print(temp)

返回:(答案是双工的)

            duplex
            Guess a letter: x
            Correct! You have 5 lives left
            -----x

但是,当添加第二个输入时,它会打印第二个连接字符串而不是更新的字符串。

            Guess a letter: e
            Correct! You have 5 lives left
            -----x----e-
            Guess a letter: 

我在哪里错了?谢谢!

标签: pythonpython-3.xloops

解决方案


temp我认为您希望在进行猜测时替换它的特定字母,而不是不断地附加到字符串中。我还建议给它一个比temp!

visible = ["-"] * len(answer)

# now for each attempt, do:

    if attempt in answer and attempt not in visible:
        print(f"Correct! You have {lives} lives left")

    for i, l in enumerate(answer):
        if l == attempt:
            visible[i] = attempt

    print("".join(visible))

推荐阅读