Python:Day07 作业

三级菜单:

自己做的代码:

 1 china = {
 2     '江苏':{
 3         '南京':{
 4             '江宁':{},
 5             '白下':{},
 6             '栖霞':{},
 7             '江淮':{},
 8             '浦口':{}
 9             },
10         '宿迁':{
11             '宿城区':{},
12             '宿豫':{},
13             '泗阳':{},
14             '泗洪':{},
15             '沭阳':{}
16             },
17         '盐城':{
18             '盐都':{},
19             '亭湖':{},
20             '大丰':{},
21             }
22         },
23     '广州':{
24         '广东':{
25             '天河':{},
26             '白云':{},
27             '珠海':{}
28             },
29         '深圳':{
30             '罗湖':{},
31             '福田':{},
32             '南山':{}
33              },
34         '东莞':{
35             '莞城':{},
36             '长安':{},
37             '万江':{}
38             }
39         },
40      '浙江':{
41          '杭州':{
42              '下城':{},
43              '上城':{},
44              '西湖':{}
45          },
46          '宁波':{
47              '江东':{},'江北':{}
48          },
49          '温州':{
50              '龙湾':{},
51              '乐清':{},
52              '永嘉':{}
53          }
54      },
55 }
56 
57 flag_break = True
58 
59 while flag_break:
60     for key1 in china:
61         print(key1)
62     choice = input('please input your choice:>>>').strip()
63     if choice in china:
64         while flag_break:
65             for key2 in china[choice]:
66                 print(key2)
67             choice2 = input('please input your choice:>>>').strip()
68             if  choice2 in china[choice]:
69                 while flag_break:
70                     for key3 in china[choice][choice2]:
71                         print(key3)
72                     choice3 = input('please input your choice:>>>').strip()
73                     if choice3 in china[choice][choice2]:
74                         print('this is the last level')
75                     elif choice3 == "q":
76                         break
77                     elif choice3 =='b':
78                         flag_break = False
79                     else:
80                         print("无此项,请重新输入!")
81             elif choice2 == "q":
82                 break
83             elif choice2 == 'b':
84                 flag_break = False
85             else:
86                 print("无此项,请重新输入!")
87     elif choice == "q":
88         break
89     elif choice == 'b':
90         flag_break = False
91     else:
92         print("无此项,请重新输入!")

老师讲的第一种方法:

 1 china = {
 2     '江苏':{
 3         '南京':{
 4             '江宁':{},
 5             '白下':{},
 6             '栖霞':{},
 7             '江淮':{},
 8             '浦口':{}
 9             },
10         '宿迁':{
11             '宿城区':{},
12             '宿豫':{},
13             '泗阳':{},
14             '泗洪':{},
15             '沭阳':{}
16             },
17         '盐城':{
18             '盐都':{},
19             '亭湖':{},
20             '大丰':{},
21             }
22         },
23     '广州':{
24         '广东':{
25             '天河':{},
26             '白云':{},
27             '珠海':{}
28             },
29         '深圳':{
30             '罗湖':{},
31             '福田':{},
32             '南山':{}
33              },
34         '东莞':{
35             '莞城':{},
36             '长安':{},
37             '万江':{}
38             }
39         },
40      '浙江':{
41          '杭州':{
42              '下城':{},
43              '上城':{},
44              '西湖':{}
45          },
46          '宁波':{
47              '江东':{},'江北':{}
48          },
49          '温州':{
50              '龙湾':{},
51              '乐清':{},
52              '永嘉':{}
53          }
54      },
55 }
56 
57 
58 back_flag = False
59 exit_flag = False
60 
61 while not back_flag and not exit_flag:
62     for key in china:
63         print(key)
64     choice = input('1>>:').strip()
65     if choice == "q":
66         exit_flag = True
67     if choice in china:
68         while not back_flag and not exit_flag:
69             for key2 in china[choice]:
70                 print(key2)
71             choice2 = input('2>>:').strip()
72             if choice2 == 'b':
73                 back_flag = True
74             if choice2 == 'q':
75                 exit_flag = True
76             if choice2 in china[choice]:
77                 while not back_flag and not exit_flag:
78                     for key3 in china[choice][choice2]:
79                         print(key3)
80                     choice3 = input('3>>:').strip()
81                     if choice3 == 'b':
82                         back_flag = True
83                     if choice3 == 'q':
84                         exit_flag = True
85                 else:
86                     back_flag = False
87         else:
88             back_flag = False
89 else:
90     back_flag = False
原文地址:https://www.cnblogs.com/sq5288/p/8327395.html