我正在构建基于控制台的帐单提醒应用程序作为我的第一个项目,并且我在确保用户在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,或者如果它是真的则继续执行下一部分代码。
如果在其他地方有一个很好的解释,并且你想指出我正确的方向,我也可以这样做。
由于
答案 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!