嗨,我是python编码的初学者! 这是我的代码:
IStartupFilter
此代码的主要目的是检查输入。如果输入的字符串不是OK,但是输入的整数则错误。我的问题是格式也为整数的代码,我没有收到错误消息。您能帮我哪里错了吗?
答案 0 :(得分:0)
您可以使用.isdigit()方法检查字符串是否仅包含数字字符,例如
if x.isdigit():
raise Exception
还有.isalpha()方法,用于检查字符串是否为字母。
答案 1 :(得分:0)
出于检查目的,可以改用input()方法,然后做出相应决定。
[iahmad@ijaz001 ~]$ python2.7
Python 2.7.15 (default, May 9 2018, 11:32:33)
[GCC 7.3.1 20180130 (Red Hat 7.3.1-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> x=input()
'hi'
>>> type(x)
<type 'str'>
>>> x=input()
10
>>>
>>> type(x)
<type 'int'>
>>>
[iahmad@ijaz001 ~]$ python3.6
Python 3.6.5 (default, Apr 4 2018, 15:09:05)
[GCC 7.3.1 20180130 (Red Hat 7.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=eval(input())
'hi'
>>>
>>> type(x)
<class 'str'>
>>>
>>> x=eval(input())
10
>>>
>>> type(x)
<class 'int'>
答案 2 :(得分:0)
如果您只需要在输入包含一个或多个数字时引发异常,则可以尝试:
x = str(raw_input('Please enter your message: '))
if any( i.isdigit() for i in x ):
raise Exception("Input contains digits, therefore it is not a word")
但是,我假设您还想在输入类似“ hel $ o”之类时引发异常-特殊字符也需要排除-。在这种情况下,您应该尝试使用一些正则表达式。