You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不使用random模块实现猜词游戏,如何让用户可以重新尝试答题?

猜词游戏代码修复方案

问题根因

你的代码存在两个核心逻辑错误,直接导致功能异常:

  • 你提前把存储用户答案的变量animal直接赋值为正确答案giraffe,导致while循环的判断条件animal != "giraffe"一开始就为假,循环根本不会触发
  • 就算循环触发,你也没有在循环内加入获取用户新输入的逻辑,一旦进入循环就会无限打印错误提示

关于你提到的不使用random模块锻炼能力的思路完全合理,基础逻辑训练是熟练掌握编程的核心,不需要刻意依赖现成封装好的模块。

修复后的完整代码

print("你叫什么名字?")
name = input()
print("你好,%s!这是一个猜词游戏。" % name)
print("想要开始请按回车键,不想玩可以直接退出")

input()

print("好的,看来你想继续!我们这就开始")
print("什么动物生活在非洲,还有长长的脖子?")

# 单独定义正确答案,和用户输入变量拆分
correct_answer = "giraffe"
# 第一次获取用户输入的答案
user_answer = input()

# 只要用户输入不等于正确答案,就循环提示重输
while user_answer != correct_answer:
    print("答错了!再试试吧。")
    # 循环内必须重新获取用户输入,更新判断条件
    user_answer = input()

# 跳出循环即说明答对,补充收尾提示
print("恭喜你答对了!")

逻辑说明

  • 正确答案和用户输入的答案分开存储,避免赋值冲突
  • 循环内必须更新用户输入的内容,否则判断条件永远不会变,必然陷入死循环
  • 补充答对后的提示,整个游戏流程更完整

内容的提问来源于stack exchange,提问作者Ziolekx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:39:03