我需要有一个返回 type 的保证输入的函数float
。为了实现这一点,我想出了一种递归方式,但仅仅几秒钟后,我意识到我也可以使用while
-loop。
那么,首选哪一个呢?有理由使用其中一个吗?
由于 Python 没有尾调用(afaik?),我很确定我应该使用while
循环,但我仍然不是 100% 有信心。
这是我的两个功能:
def inputf(prompt=None):
try:
return float(input(prompt))
except ValueError:
return inputf(prompt)
def inputf2(prompt=None):
while True:
try:
return float(input(prompt))
except ValueError:
pass