如果/ elif / else条件,则为Python True / False

时间:2013-06-19 23:15:30

标签: python

目标:检查字符串是否为字母数字,数字或仅包含字母

代码:

s2 = "123test"
if s2.isalnum():
print "String is alphanumeric"
elif s2.isalpha():
print "String is alpha"
elif s2.isdigit():
print "String is numeric"
else:
print "No Idea what the string is"

错误:

 print "String is alphanumeric"
        ^
IndentationError: expected an indented block

当我单独print s2.isalnum()时,会打印True。我不确定我上面的代码有什么问题。

版本:2.6

2 个答案:

答案 0 :(得分:5)

在python中,缩进很重要

s2 = "123test"
if s2.isalnum():
    print "String is alphanumeric"
elif s2.isalpha():
    print "String is alpha"
elif s2.isdigit():
    print "String is numeric"
else:
    print "No Idea what the string is"

答案 1 :(得分:4)

如果您正确复制并粘贴了错误消息:

if s2.isalnum()
               ^
SyntaxError: invalid syntax

...然后问题是你忘记了if行末尾的冒号。

所以,将其改为:

if s2.alnum():

......一切都会好的。


好吧,你可以通过SyntaxError并运行IndentationError。但是jh314的答案已经告诉你如何解决这个问题。