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

Python中如何循环回到指定代码段重新执行输入询问逻辑?

问题原因

  • 输入语句放在while循环外部,只会在程序启动时执行一次,长度计算也只会运行一次,进入循环后不会触发新的输入请求,continue只能跳回循环判断的位置,自然无法回到输入步骤。
  • 把输入语句挪进循环内部还报x is not defined,是因为长度判断逻辑写在了循环执行逻辑之前,第一次做循环判断的时候x还没有被赋值。
  • 你原本的代码还存在缩进不统一、字符串换行未处理的语法问题,也会导致程序运行报错。

可行实现方案

方案1:无限循环加条件跳出(最简洁)

把输入、校验逻辑全放到循环内部,符合要求就直接break退出:

while True:
    x = input("input a word")
    if len(x) == 8:
        print("word accepted")
        break
    print("word must have 8 characters")

方案2:预初始化长度变量(避免无限循环写法)

提前给长度变量赋初始值,循环判断条件直接校验长度:

word_len = 0
while word_len != 8:
    x = input("input a word")
    word_len = len(x)
    if word_len != 8:
        print("word must have 8 characters")
print("word accepted")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:07