Java家伙转向Python。
我想检查一个字符串是字符串还是数字,然后再做一些事情。我的语法错误
if value.isdigit() == True
do something
else:
if value.isdigit == False
do something.
答案 0 :(得分:1)
抛弃嵌套的srand()
语句和显式布尔比较。另外,请勿忘记使用if
代替value.isdigit()
,并确保在value.isdigit
末尾添加冒号。
if ...
答案 1 :(得分:0)
我不知道你的错误是什么,但是在两个if语句之后你错过了冒号。如果您想检查字符串是字母还是数字,可以使用.isalnum
方法代表字母数字。
if value.isalnum():
# do stuff
else:
# if it contains stuff not alphanumeric
其他方法包括isalpha
,isdigit
,isdecimal
,isidenitifier
,islower
等等......
答案 2 :(得分:0)
正如评论中提到的那样,在Python中从马的口中接受它是完全可以接受的:
try:
complex(x) # should be the most general
result = True # Python has no objections
except ValueError:
result = False
这将识别从-1_000_000
(仅限Python3.6 +)到+.24E-2+j
的任何内容。唯一的例外(我相信):它不接受二进制,八进制或十六进制文字(0b1001
,0o77
,0xff
)如果你想允许那些你需要特殊情况。
或者,如果您是regexp向导,则有re
模块。我不是,但这是尝试整数检测器:
import re
int_pattern = re.compile('^[+-]?(?:0|(?:[1-9][0-9]*))$')
int_pattern.match('-13')
# <_sre.SRE_Match object; span=(0, 3), match='-13'>