是否可以在if else语句中放入if else语句?

时间:2013-01-17 02:18:45

标签: python python-2.7 if-statement

所以基本上,我想做的是使用“if / else”作为程序的开关来选择路径。

如果我的elif语句是假的,我想要更多缩进if / else不能工作。有可能吗?

代码:

aStr = "abcdef"
char = "e"
if aStr == '':
    return False
elif len(aStr) == 1:
    if char == aStr:
        return True
    else:
        print "Python is stupid"
        return False
else:

它返回“Python是愚蠢的”,我不是故意这样做的!

1 个答案:

答案 0 :(得分:1)

如果您希望它在不正确的情况下运行,您需要在elif中反转您的逻辑:

aStr = "abcdef"
char = "e"
if aStr == '':
    return False
elif len(aStr) != 1:
    if char == aStr:
        return True
    else:
        print "Python is stupid"
        return False

如果给定表达式为true,则if(以及扩展名为elif)语句将运行该块。如果你想检查是否是真的,你可以反转逻辑(在它前面加not,或者使用逆运算符)。

请注意,检查空字符串的Pythonic方法是if not aStr:,而不是检查是否与空字符串相等。