如何在python中验证用户输入?

时间:2015-06-30 00:34:03

标签: python-2.7

我正在构建基于控制台的帐单提醒应用程序作为我的第一个项目,并且我在确保用户在floats时输入正确的数据时遇到了一些问题。

基于python 2.7文档和stackoverflow上的一些答案我已经提出了以下解决方案,但是没有用。

billAmnt = raw_input('How much is this bill?')
try:
    float(billAmnt)
    return True
except ValueError:
    return False

这将返回True或False,我需要再次询问用户是否为false,或者如果它是真的则继续执行下一部分代码。

如果在其他地方有一个很好的解释,并且你想指出我正确的方向,我也可以这样做。

由于

1 个答案:

答案 0 :(得分:0)

任何时候当你想要重复某些事情直到满足某些条件时,while循环可能是一个很好的候选者。

def get_bill_amount():
    while True: # repeat until you hit a break statement or a return
        billAmnt = raw_input('How much is this bill?')
        try:
            amount =  float(billAmnt)
            return amount # exit the loop. 
        except ValueError:
            pass
            #Since I've gotten to the end of the while block, start again from the top!