Python如果条件语句流?

时间:2013-10-13 20:41:06

标签: python if-statement

所以我想弄清楚如何解决这个问题。假设我有一些if语句和else语句。当我做出一个属于if的选择时,似乎也会运行else语句。例如:

option = float(input("Select Option"))

if (option == 1):
    print("Population Group 1")

if (option == 2):
    print("Population Group 2")

else:
    print("Invalid Selection")

print("Testing")

示例输出将是:

Select Option1
Population Group 1
Invalid Selection
Testing

关于为什么会发生这种情况或如何解决这个问题的任何想法?

4 个答案:

答案 0 :(得分:3)

else语句仅适用于上一个if。要将if链接到else,请使用if/elif/.../else序列:

if option == 1:
    print("Population Group 1")

elif option == 2:
    print("Population Group 2")

else:
    print("Invalid Selection")

答案 1 :(得分:0)

将您的第二个if语句更改为elif语句。

option == 1的控制流程如下:

check first IF statement -> True (no ELSE block to skip)

check second IF statement -> False, continue to ELSE block

execute ELSE block

你想要的是什么:

check first IF statement -> True, skip ELSE block

答案 2 :(得分:0)

要确保只匹配第一个 true 条件并避免级联效应,请使用 elif

option = float(input("Select Option"))

if option == 1:
   print("Population Group 1")

elif option == 2:
   print("Population Group 2")

else:
   print("Invalid Selection")
print("Testing")

答案 3 :(得分:0)

查看python documentation on control flow tools。您只需要用if替换第二个elif

option = float(input("Select Option"))

if (option == 1):
    print("Population Group 1")

elif (option == 2):
    print("Population Group 2")

else:
    print("Invalid Selection")

print("Testing")