用while循环实现猜数字游戏:先生成1–100随机数answer,初始化guess=0;循环条件为guess!=answer,每次输入后转整数并比较大小提示;猜中自动退出并祝贺;可加try-except处理非数字输入,用strip()处理空输入。

用 while 循环实现猜数字小游戏,核心是让程序持续运行,直到玩家猜中为止。关键在于设置一个循环条件(比如“没猜对”),并在每次输入后更新这个条件。
1. 初始化目标数字和初始状态
先用 random.randint() 生成一个随机数作为答案,并定义一个变量(如 guess)存玩家的猜测,初始值设为与答案不同的数,确保循环能开始:
- 导入
random模块 - 设定范围,比如 1–100:
answer = random.randint(1, 100) - 初始化
guess = 0(或None),避免未定义错误
2. 用 while 控制重复猜测
写 while guess != answer:,这样只要没猜中,就会一直执行循环体。每次循环里做三件事:
- 提示用户输入(用
input()) - 把输入转成整数(加
try-except处理非数字输入更稳妥) - 比较大小并给出提示(“太大了”、“太小了”)
3. 猜中后跳出循环并祝贺
当用户输入等于 answer 时,while 条件不成立,自动退出。紧接着输出“恭喜答对!”即可。不需要额外写 break——这是自然结束。
如果想统计次数,可在循环外设 count = 0,每次循环内 count += 1,最后一起打印。
4. 加点小优化更实用
避免程序因异常崩溃,建议包一层异常处理:
- 用户输字母时,捕获
ValueError,提示“请输入一个整数” - 输负数或超范围数(如超过100),可单独判断并提醒,但不影响继续猜
- 输入空字符串?
input().strip()预处理一下更健壮










