在單層循環的退出中,使用break即能退出,那么多層循環呢?機智的人們使用flag標識符的方式,例如:
a=['a',1,2,3,4] b=['b',1,2,3,4] c=['c',1,2,3,4] d=['d',1,2,3,4] break_flag=0 while break_flag==0: y_n=input('a,yes or no:') if y_n == 'n': break elif y_n == 'y': for i in a: print(i) while break_flag ==0: y_n_2=input('b,yes or no:') if y_n_2=='n': print('退出') break_flag=1 elif y_n_2=='y': for i in b: print(i) while break_flag==0: y_n_3=input('c,yes or no:') if y_n_3 == 'n': print('退出。。。') break_flag=1 elif y_n_3 == 'y': for i in c: print(i)
簡單的講,就是將標識符賦予一個值,在執行過程中,如果輸入退出鍵的關鍵詞,將標識符改變為其他的值。設置循環時,使用while flag == '初始值',如果中途改變flag值后,由於多層循環中沒有設置”flag改變后的值“的條件,所以程序退出。