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

如何为Python姓名输入功能添加循环,实现非空校验?

问题修正:姓名输入校验逻辑优化

原代码存在两个核心问题导致无法实现持续询问的需求:

  • 当输入为空时,while循环内的return语句会直接终止函数,跳过后续的输入获取步骤。
  • 单独的if判断属于冗余逻辑,循环本身可以处理空输入的校验。

修正后的代码

def hello():
    name = ""
    while name == "":
        name = input("Please enter your name : ").strip()
        if name == "":
            print("此字段不能为空")
    print(f"Hello {name},希望你喜欢这个测验")
    
hello()

关键修改说明

  • 初始化name为空字符串,确保首次进入循环执行输入获取。
  • 将输入操作和空值校验整合到while循环内,只要输入为空就重复询问。
  • 新增strip()方法处理输入,避免用户输入纯空格被误判为有效输入(提升校验严谨性)。
  • 移除错误的return语句,保证循环能正常执行直到获取有效输入。
  • 使用f-string简化问候语的拼接,代码更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:48:51