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
相关产品推荐
相关产品推荐

