首页 > 解决方案 > 用户输入循环

问题描述

我无法让这段简短的代码工作。我想要做的是要求用户输入一个 4 个字母的单词,如果他们不输入,那么请他们再试一次,如果他们输入了,那么表示感谢。我添加了 while True, try & except 部分,因为它看起来是保持循环的最佳方式,但我并没有真正理解。

while True:
    try:
        word=input("Please enter a four letter word: ")
        word_length=len(word)
    except word_length != 4:
        print("That's not a four letter word. Try again: ")
        continue
    else: 
        break

if word_length ==4:
    print("Thanks")

标签: pythonpython-3.xloopsuser-input

解决方案


except用于捕获异常(其他语言使用tryandcatch代替)。

在这种情况下,您只需要使用一个简单if的来检查该值是否是您想要的:

while True:
    try:
        word = input("Please enter a four letter word: ")
        word_length = len(word)
    except TypeError:
        print('error getting word length')
    else:
        if word_length != 4:
            print("That's not a four letter word. Try again: ")
        else:
            break

if word_length == 4:
    print("Thanks")

推荐阅读