有没有办法循环回到python中某段代码的开头

Is there a way to loop back to the beginning of a certain part of the code in python

我正在编写一个脚本来检查输入单词的长度是否等于某个数字,如果不等于则再次循环回到输入问题。

我使用了下面的代码,

x=input("input a word")

y=len(x)

while y<8 or 8<y:

  print("word must have 8 
         characters")

    continue

  print("word accepted")

    break

但问题是当使用“continue”循环返回时,它不会循环回到输入问题。也不能在 while 循环中写入输入问题,因为它会给出错误“x is not defined”。

那么我怎样才能循环回到 here.Is 中的输入问题呢?

长度在 while 循环之前已经分配,​​所以你永远不会得到新的输入。您必须在 while 循环中获取输入,这样您才能一次又一次地获取新的输入。

如你所愿:

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

两种方法,使用 while True:

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

使用递归:

def get_input():
    x=input("input a word: ")
    if len(x) == 8:
        return x
    print("word must have 8 characters")
    return get_input()
while True==True:
  x=input("input a word")
  y=len(x)
  if y==8:
    print("word accepted")
    break
  else:
    print("word must have 8 characters")
    # continue