在python中嵌套if语句

时间:2016-01-27 16:14:19

标签: python if-statement nested statements

所以我在尝试运行这个小家伙时遇到了无效的语法错误,

age = input("Please tell me your age?: ")
age_test = eval(age)
if age_test < 1:
    print("You can't be negative!")
    if age_test > 100:
        print("You can't be over 100!")
        else:

有人可以帮助我吗?我不是新编程,但我是python的新手,我没有看到任何错误。

5 个答案:

答案 0 :(得分:0)

python中的缩进几乎就像大多数其他语言中的花括号一样有效。 4个空格向编译器发出信号表示该块是缩进的,因此您的代码实际上是将每个条件语句嵌套在一起,而不是按照我的想法进行,这是为了让它们一个接一个地进行评估。

将条件解除与初始if语句相同的行,并从那里开始。

答案 1 :(得分:0)

在Python中,缩进很重要。您的 else 子句在前一个打印(“您不能超过100!”)语句的级别缩进。因此,在该级别需要 if 语句。没有,所以你会得到一个语法错误。

因此,正如SirParselot所说,你需要将那个else子句移动到前面 if 之一的级别。

答案 2 :(得分:0)

使用正确的缩进:

age = input("Please tell me your age?: ")
age_test = eval(age)
if age_test < 1:
    print("You can't be negative!")
elif age_test > 100:
    print("You can't be over 100!")
else:
    do_other_stuff()

答案 3 :(得分:0)

ififelseelse必须处于相同的缩进级别,这就是出错的原因

<强>引用

  

块是程序或脚本中的一组语句。通常它   由至少一个声明和块的声明组成,   取决于编程或脚本语言。一种语言,其中   允许使用块进行分组,称为块结构化语言。   通常,块也可以包含块,因此我们得到一个嵌套块   结构体。脚本或程序中的块用作组的意思   声明被视为一个声明。在许多情况下,   它也可以作为限制变量和词汇范围的方法   功能

     

Python使用不同的原则。 Python程序结构化   通过缩进,即代码块由它们定义   缩进。好吧,这是我们对任何程序代码的期望,不是   它?是的,但在Python的情况下,这是一个语言要求而不是   风格问题。这个原则使人们更容易阅读和理解   其他人的Python代码。

enter image description here

答案 4 :(得分:0)

如前所述,要注意打算。 以下是工作代码段的示例:

age = input("Please tell me your age?: ")
age_test = int(age)

if age_test < 1:
    print("You can't be negative!")

if age_test > 100:
    print("You can't be over 100!")
else:
    print("Your age is %s" %age_test)