检查Python3中输入的特定格式

检查Python3中输入的特定格式,python,Python,对于学校项目,我必须编写一个程序,以 来自单个输入的名称编号。例如: John Smith 20 50 最好的检查方法是什么: 1.输入仅包含4个单词/数字 2.格式为两个单词后跟两个数字 如果不是,则返回错误,直到正确输入。 编辑: 我已经设法让它工作,以检查数字在正确的地方使用阿南德的建议,但我似乎无法让它重新启动,而如果有超过4个字。谢谢 def checkInput(question): while True: textInput = input(questio

对于学校项目,我必须编写一个程序,以 来自单个输入的
名称编号
。例如:

John Smith 20 50
最好的检查方法是什么:
1.输入仅包含4个单词/数字
2.格式为两个单词后跟两个数字
如果不是,则返回错误,直到正确输入。

编辑:
我已经设法让它工作,以检查数字在正确的地方使用阿南德的建议,但我似乎无法让它重新启动,而如果有超过4个字。谢谢

def checkInput(question):
    while True:
        textInput = input(question)
        splitList = textInput.split()
        if len(splitList) !=4:
            print("Invalid Format, Please Try Again")
        try:
            a = float(splitList[2])
            a = float(splitList[3])
            return(textInput)
        except ValueError:
            print("Invalid Format, Please Try Again")
            continue


output = checkInput("Question: ")
print(output)

在Python3中,您可以执行以下操作-

inp = input()
lst = inp.split(' ')
if len(lst) != 4:
    raise Error('some error')    # give some value inside the Error('')
try:
    a = int(lst[2])
    a = int(lst[3])
except ValueError:
    raise Error('some other error')   # give some value inside the Error('')

嗨,亚当,到目前为止你有没有尝试过什么?家庭作业零努力问题StackOverflow只帮助那些尝试过自己的人。@AlexPan事实上没有,正如你在下面看到的,总是有人支持rep;)我已经写了一个解决方案,但是我建议你自己尝试这些东西,否则你将无法学好这门语言谢谢你的回复。我是否将其包含在while循环中以重复,直到没有出现错误?我会尝试一下你发布的内容,看看我是否能让它发挥作用。我已经用我到目前为止所做的工作编辑了原始帖子。但在收到大于或小于4个单词的输入后,我仍然无法使while语句重新启动。我会使用另一个try/except功能吗?感谢在if条件下打印
后,在超过或少于4个单词的情况下继续执行
操作。