语法带有if..else语句的错误

时间:2017-10-23 11:03:29

标签: python

在程序中,我们将输入一个数字 检查数字是正数还是 负或零并显示 正确的信息 这次我们使用nested if

num = float(input("Enter a number:"))

if num >= 0:
    if num == 0:
        print("Zero")
else:
    print("Positive number")
    else:
        print("Negative number")       

底部的else语句出现语法错误。

3 个答案:

答案 0 :(得分:1)

您的格式应如下所示:

num = float(input("Enter a number:"))

if num >= 0:
    if num == 0:
        print("Zero")
    else:
        print("Positive number")
else:
    print("Negative number")       

答案 1 :(得分:0)

您需要为每个案例分隔条目;您也可以考虑使用int代替float来比较相等(未显示)。

此处构造已展平,以避免深层嵌套if - else

num = float(input("Enter a number:"))

if num == 0:
    print("Zero")
elif num > 0
    print("Positive number")
else:
    print("Negative number") 

答案 2 :(得分:0)

每个else必须直接位于其对应的if之下,并且在相应的缩进级别之间没有代码(可能的elif除外)。见下文,并注意到许多评论。

num = float(input("Enter a number:"))

if num >= 0:
    # The num is 0 or greater
    if num == 0:
        # The num is 0
        print("Zero")
    else:
        # The num is not 0, so it is greater than 0
        print("Negative number")
else:
    # The num is not 0 or greater, so it is negative
    print("Positive number")