python - 创建一个刽子手游戏
问题描述
我正在创建一个刽子手游戏,但遇到了一个我似乎无法解决的问题。以下是我正确输入字母的代码:
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:
我在哪里错了?谢谢!
解决方案
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))
推荐阅读
- c++ - C ++ - 将变量分配给另一个变量和将变量分配给引用变量之间有什么区别?
- php - PHP在循环中获取每N个项目,但将它们按6组分组
- spring-boot - SpringBoot devtools如何检测应用程序的运行环境?
- amazon-web-services - 用于 SSL 卸载的 AWS HSM(硬件安全模块)缓慢?
- thread-safety - Guava 的 HashFunction 是线程安全的吗?
- python-3.x - 我在哪里可以获得 Python 3 中 print 函数的 kwargs 列表?
- ios - AVCapturePhotoOutput - 不能重复使用设置
- python - 删除 python 路径硬编码和传递列表
- c++ - C++ 通过映射从基类实现派生类并使用来自
- c# - 变量被重置为零