0

所以我想弄清楚如何解决这个问题。假设我有一些 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

4 回答 4

3

else声明仅适用于最后一个if。要将两个ifs 链接到else,请使用一个if/elif/.../else序列:

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

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

else:
    print("Invalid Selection")
于 2013-10-13T20:42:25.243 回答
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")
于 2013-10-13T20:43:13.313 回答
0

查看有关控制流工具的 python 文档。您只需将第二个替换为ifa 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")
于 2013-10-13T20:43:38.677 回答
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
于 2013-10-13T20:42:22.513 回答