有没有办法阻止用户输入数字输入()

时间:2016-09-21 10:06:55

标签: python string python-3.x input

我想阻止用户输入数字以节省程序中的麻烦。我知道如何使用try,除了int(input())以防止在需要整数时输入字符串但是我想知道str(input())是否有类似的东西。

例如,如果要求用户输入他们的姓名并输入“1994”,他们就会收到输入整数的错误信息。

1 个答案:

答案 0 :(得分:2)

使用try-except else块,如果在转换为{{{}期间发生异常 ,则会引发ValueError 1}}(表示输入 int

int

这将通过在v = input("> ") try: _ = int(v) except: pass else: raise ValueError("input supplied should be of type 'str'") 块中引发异常来捕获输入的任何数字

else

并在> 1992 ValueErrorTraceback (most recent call last) <ipython-input-35-180b61d98820> in <module>() 5 pass 6 else: ----> 7 raise ValueError("input supplied should be of type 'str'") ValueError: input supplied should be of type 'str'

pass允许字符串
except

或者,您也可以使用> jim v Out[37]: 'jim' any执行此操作:

isdigit

这将检查v = input("> ") if any(s.isdigit() for s in v): raise ValueError("input supplied should be of type 'str'") 字符是否为数字,如果是,则会引发错误。

你也可以防止漂浮,但这开始变得丑陋:

any