检查Python 3中的输入是否为某种格式

时间:2015-06-16 05:46:33

标签: python

对于一个学校项目,我必须编写一个以...形式输入的程序 来自单个输入的Name Name Number Number。例如:

John Smith 20 50

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

编辑:
我已经设法使用Anand的建议让它在正确的位置检查数字,但如果有超过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)

1 个答案:

答案 0 :(得分:0)

在Python 3中,您可以执行类似 -

的操作
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('')