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

Python终端游戏开发:while循环逻辑异常排查求助

问题分析与解决方案

初始代码的错误原因与修复

初始代码的核心问题是类型不匹配:你将输入转换为整数类型int后,却用字符串"1"、"2"进行相等判断——整数与字符串永远不会相等,导致两个if语句完全不会触发,输入1或2后程序直接结束。

修复后的代码只需将判断条件改为整数即可:

# 处理非整数输入的循环
while True:
    try:
        question1 = int(input("1. oui 2. non \n"))
    except ValueError:
        slow_type("essai un nombre ou de répondre la question.")
        continue
    else:
        break

# 根据输入执行对应逻辑
if question1 == 1:
    slow_type("Alors, voici mon histoire...")
    
if question1 == 2:
   slow_type("D'accord.")

优化后函数的使用说明

你重构的choose_wisely函数已经实现了通用的多选项输入校验逻辑,能自动处理无效输入并循环提示,使用时只需传入选项列表即可:

# 调用示例(对应原场景)
choices = ["oui", "non"]
selected_option = choose_wisely(choices)

if selected_option == 1:
    slow_type("Alors, voici mon histoire...")
elif selected_option == 2:
    slow_type("D'accord.")

函数会自动生成带编号的选项列表,持续校验输入是否为有效范围内的整数,直到用户输入正确才返回选中的编号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:46:08