问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何制作网页多级菜单

发布网友 发布时间:2022-04-24 07:28

我来回答

2个回答

懂视网 时间:2022-04-18 20:42

要求:编写多级菜单

1.三级菜单

2.可依次进入各子菜单

3.菜单能够回到上一级

4.用到知识点:字典、列表、多层循环、函数


1)编写思路

编写思路参考下面GitHub链接中的流程图

作业/Day1_作业_多级菜单流程图.png


2)具体实现

 1 # -*- coding:utf-8 -*- 2 3 
 # Author:Chuixin Zeng 4 5 
 # 使用字典保存省份、市、县列表 6 
 # 这是一个多级的字典,可以通过for查询每一个级别的信息,级别:省份、市、区 7 8 
 _country_dict = { 9 '1.河南省': { 10  '1.郑州市': {'1.金水区': ['区号100', '邮编400000'], '2.中原区': ['区号101', '邮编400001'], '3.二七区': ['区号102', '邮编400002']}, 11  '2.洛阳市': {'1.老城区': ['区号200', '邮编200000'], '2.洛龙区': ['区号201', '邮编200001'], 
 '3.西工区': ['区号203', '邮编200002']}, 12  
 '3.信阳市': {'1.浉河区': ['区号300', '邮编300000'],
 '2.平桥区': ['区号301', '邮编300001'], '3.固始区': ['区号203', '邮编200002']} 13 }, 14 
 '2.河北省': { 15  '1.石家庄市': {'1.长安区': ['区号400', '邮编500000'], 
 '2.新华区': ['区号401', '邮编500001'], '3.桥西区': ['区号402', '邮编500002']}, 16  
 '2.保定市': {'1.竞秀区': ['区号500', '邮编600000'], '2.莲池区': ['区号501', '邮编600001'], 
 '3.满城区': ['区号503', '邮编600002']}, 17  '3.邯郸市': {'1.丛台区': ['区号600', '邮编700000'], '2.邯山区': ['区号601', '邮编700001'], '3.复兴区': ['区号602', '邮编700002']} 18 }, 19 '3.湖南省': { 20  '1.长沙市': {'1.芙蓉区': ['区号700', '邮编800000'], '2.岳麓区': ['区号701', '邮编800001'], '3.雨花区': ['区号702', '邮编800002']}, 21  '2.常德市': {'1.武陵区': ['区号800', '邮编900000'], '2.鼎城区': ['区号801', '邮编900001'], '3.未知区': ['区号803', '邮编900002']}, 22  '3.湘潭市': {'1.丛台区': ['区号900', '邮编110000'], '2.邯山区': ['区号901', '邮编110001'], '3.复兴区': ['区号902', '邮编110002']} 23 }, 24 '4.湖北省': { 25  '1.武汉市': {'1.江岸区': ['区号110', '邮编810000'], '2.江汉区': ['区号111', '邮编810001'], '3.汉阳区': ['区号112', '邮编810002']}, 26  '2.宜昌市': {'1.西陵区': ['区号120', '邮编910000'], '2.点军区': ['区号121', '邮编910001'], '3.夷陵区': ['区号123', '邮编910002']}, 27  '3.孝感市': {'1.孝南区': ['区号130', '邮编120000'], '2.孝感区': ['区号131', '邮编120001'], '3.未知区': ['区号132', '邮编120002']} 28 } 29 } 30 31 32 # 定义一个函数,用于将查询到的省份信息传递给此函数 33 34 def district(): 35 while True: 36  # 定义一个空列表,用于保存城市信息 37  cy = [] 38  # %s是处理对象的一种方法,是占位符,它的值来源于后面的% province省份的值,然后通过print打印出来 39  # province的值是在查询身份的语句里面定义的 40  print('%s 有以下城市:' % province) 41  # 通过for循环将用户选择的省份下面的城市列表放到_city中 42  for _city in sorted(_country_dict[province].keys()): 43  # 打印用户选择的省份下面的城市的列表 44  print(_city) 45  # 将用户选择的省份下面的城市列表附加保存到cy列表中 46  cy.append(_city) 47  # print(cy) 48  # 提供交互式界面,让用户输入要查询的城市编号 49  _city_number = input('请输入要查询的城市编号:(后退:b 退出:q)') 50  # 打印城市和区县列表的分隔符 51  print('---------------------------------------------------') 52  # 如果用户输入的编号是q,则退出查询 53  if _city_number == 'q': 54  print('已退出查询!') 55  exit() 56 
 # 如果用户输入的是b,则中断当前的判断,退回到上一级省份目录 57  elif _city_number == 'b': 58  break 59  else: 60  # 如果用户输入的是正确的编号,则从cy城市列表中获取到城市信息,放到city中 61  for city in cy: 62   # 判断用户输入的城市编号和cy列表中的城市编号是否匹配 63   if _city_number in city: 64   # 如果匹配,则将当前城市的名称保存到_citynumber变量中 65   _citynumber = city 66   # %s是处理对象的一种方法,是占位符,它的值来源于% _citynumber具体城市的值,然后通过print打印出来 67   print('%s 该城市有下列区县:' % _citynumber) 68 69   # 通过while循环,将具体城市下面的区县信息查出来 70   while True: 71    # 用于保存区县信息的列表 72    n = [] 73    # 通过for循环将用户选择的城市下面的区县列表放到_districts中 74    for _districts in sorted(_country_dict[province][_citynumber].keys()): 75    # 打印区县的名称信息,例如二七区 76    print(_districts) 77    # 将区县信息保存到n列表中 78    n.append(_districts) 79    # 提供交互式界面,让用户输入区县的查询行为 80    _phone_number = input('请输入要查询的区县的编号:(后退:b 退出:q)') 81    # # 打印区县和区县具体信息列表的分隔符 82    print('---------------------------------------------------') 83    # 如果用户输入了q,则结束查询 84    if _phone_number == 'q': 85    print('已结束查询!') 86    exit() 87    # 如果用户输入了b,则返回到上一级查询 88    elif _phone_number == 'b': 89    break # 跳出当前循环,回到上一级循环 90   
 else: 91    # 通过循环遍历从区县列表n中读取区县信息到pn中 92    for pn in n: 93     # 如果用户输入的区县编号和pn中的区县编号匹配 94     if _phone_number in pn: 95     # 则将具体匹配到的区县的名称保存到phone_number中 96     phone_number = pn 97     # %s的值来源于% _phone_number具体区县的值,然后通过print打印出来 98     print('%s 的信息如下:' % phone_number) 99     # 通过for循环将用户选择的具体的区县的列表中的信息放到p中100     for p in _country_dict[province][_citynumber][phone_number]:101      # 打印具体区县下面的邮政编码和区号信息102      print(p)103     # 打印查询分隔符104     print('---------------------------------------------------')105     # 通过交互式界面询问用户,是否继续查询106     _end_get = input('查询已完成,是否继续其他查询?(继续:Y 其他:结束)')107     # 如果用户输入的是大写的Y,则返回到上一级继续查询108     if _end_get == 'Y':109      break110     # 如果用户输入除了大写Y以外其他的值,则结束查询111     else:112      print('已结束查询!')113      exit()114    # 如果用户输入的区县编号有误,提示用户重新输入115    else:116     print('区县编号输入错误,请重新输入')117   
 # 第三个while True循环的退出118   
 break119 # 如果用户输入的城市编号不对,则提示用户重新输入120 
 else:121  print('城市编号输入有误,请重新输入!')122 
 # 第二个while True不设置中断条件,用户可以退回到当前的城市查询列表中123 124 while True:125 126 
 # 初始化空列表,用于保存省份信息127 c = []128 
 # 从国家字典中取第一级列表每一行的值,循环放到_country中129 
 for _country in sorted(_country_dict.keys()):130 
 # 逐行
输出国家字典里第一级列表每一行的值131 print (_country)132 '''133 打印效果134 1.河南省135 2.河北省136 3.湖南省137 4.湖北省138 '''139 # 将取到的第一级列表每一行的值追加放入c列表中140 c.append(_country)141 # print(c) # c列表打印的结果['1.河南省', '2.河北省', '3.湖南省', '4.湖北省']142 # 提供交互式界面给用户输入省份编号信息143 country_number = input("请输入要查询的省份编号:(退出:q)")144 # 打印省份和城市分割线145 print('---------------------------------------------------')146 # 如果用户输入的是q,则退出查询147 if country_number == 'q':148 print('已退出查询!')149 break150 151 # 如果没有输入q,则有两种情况:1)查询到身份列表,则把省份信息传递给district()函数做进一步查询;2)提示用户输入的编号有错误152 else:153 # 遍历c列表中的省份信息,保存到country中154 for country in c:155 if country_number in country:156 # 将遍历到的C列表的省份信息同用户输入的省份编号进行对比157 # 如果输入的编号和省份编号一致,则把country的值赋予给province,从而方便进一步查询特定省份下面的城市列表158 province = country159 # 如果符合上面的条件,则开始执行函数,此函数的目的是在现有查询的基础上进一步查询城市和区县信息160 district()161 # print(country_number) # 测试用户交互式输入信息162 break163 else:164 print("您输入的省份编号有误,请重新输入!")165 # 第一个while True不设置中断条件,用户可以退回到当前的身份查询列表中

3)Github笔记

第一天的笔记的地址是:

随堂练习

第一天作业的地址是:

作业


4)Readme.md文档

作业/Readme_多级菜单.md


热心网友 时间:2022-04-18 17:50

是可以利用dreamweaver制作的,利用它的“层”+“行为”或者spry功能制作,不过比较麻烦,估计现在没有人再去这样制作。

如果你不会编写程序的话,那么可以利用专门的网页菜单制作软件制作,也可以下载网页菜单源代码,直接粘贴在网页里就可以了。

dreamweaver也有这样的网页菜单制作插件吧,你也可以找找,制作相对来说比较简单吧。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 制作网页中有哪些导航菜单? 网页上面的菜单工具栏不见了怎么办 网页中的二级菜单三级菜单是什么意思? oppo Watch正确的拆卸表带方式? 电话手表XTCZ1S,如何换表带 怎么取下电话手表的手表体验 小霸王电话手表的表带怎么换 小天才电话手表z7表带怎么安装 福田汽车故障灯图标(一个圈,三个箭头的那个)? 谁能给简单介绍下福田汽车? 福田欧曼汽车标志? 想知道福田汽车的整体介绍,貌似福田很牛,求介绍? 福田汽车有几种颜色的呀? 福田汽车故障灯大全 图中福田汽车的故障灯标识是什么意思? 福田汽车仪表盘故障图标大全高清 福田车仪表盘指示灯图解大全 北汽福田都有什么车型? 福田汽车都有哪些车型? 炒青椒怎么做?图 网页上的菜单栏、工具栏没显示,怎么恢复 网页上怎么显示菜单的快捷键 网页的菜单栏、工具栏自动隐藏怎么取消? 10月1号到7号天气恩施州 网页菜单如何修改 恩施州在中央台天气预报中属于哪个地区 网页上面的下拉菜单怎么做呀? 恩施冬季气温比武汉高的原因 网页的菜单栏?是什么呀。。。那百度首页的菜单栏在什么地方?。。里面的“查看‘在什么地方? 2017年以后气象局还可以做防雷检测吗? 湖北,恩施州有位在中央电视台天气预报节目主里面吗? 怎么给网页设置右键快捷菜单 8月份想要去旅游,温度不要太高的,有什么好推荐的吗? 网页中如何恢复右键菜单 什么季节旅湖北省全省最好? 恩施市及各县气象,水文,地质资料 请问南方哪里过年期间可以看到大雪? 央视一台,天气预报播音员,杨丹是湖北,恩施州人吗? 为什么中午的新闻30分中天气预报的城市,湖北的竟有10个,而别的省份有的只有1个有的甚至没有? [2009年恩施州中考]地处我州建始县花坪乡的关口村.由于那里特殊的地理条件,白天光照强、气温高.夜间气