python中的循环(for、while)都还可以支持后面加else。若在循环中使用了if循环,为让else分支和if循环组成一个整体而不是和for循环组成一个整体,则多个if分支必须使用elif而不是if(和C++语法不一致),否则else就成了循环的补充了。
Wrong choice ,Dn't have this ch print("")
def run(self):
while True:
num = self.print_menu()
if num == '1':
self.show_all_items()
elif num == "2":
self.show_cates()
elif num == "3":
pass
elif num == "4":
# exit()
sys.exit()
else:
print("Wrong choice ,Don't have this choice")
print("")
上述代码中else和if以及elif是一个整体,其中只有一个分支只会执行。再看看下面的代码:
def run(self):
while True:
num = self.print_menu()
if num == '1':
self.show_all_items()
if num == "2":
self.show_cates()
if num == "3":
pass
if num == "4":
# exit()
sys.exit()
else:
print("Wrong choice ,Don't have this choice")
print("")
上述代码中else是和while True循环是一个整体,无论if分支中的哪一个被执行或者都不被执行,都会在每次循环结束时执行else