今天学了一个三级菜单,甚是开心!!!
1.流程图
2.代码如下:
#!/usr/bin/env python
#name bearcatfly
university_list = { # 大学列表
"安徽省": {
"合肥": ["中国科技大学", "合肥工业大学"],
"安庆": ["安庆学院"],
"阜阳": ["阜阳学院"]
},
"江苏省": {
"南京": ["南京大学", "南京工业大学"],
"南通": ["南通大学"],
"苏州": ["苏州大学"],
},
"浙江省": {
"杭州": ["浙江大学", "杭州电子科技大学"],
"宁波": ["宁波大学"],
"嘉兴": ["嘉兴学院"],
}
}
flag = True # 标记
try_province = 0 # 次数设置
try_city = 0
try_school = 0
while flag: # while循环语句,即在某种条件下执行某段程序
if try_province < 3:
province_str1 = "欢迎进入沿海省份"
print(province_str1.center(20, '-')) # 打印好看一点,处于中心位置
for province in university_list.keys(): # for in循环遍历,key函数用于判断province是否存在于字典中,如在字典里返回true,否则返回false。
print(province)
print("----------------------------")
province_input = input("请输入省份:")
city_flag = True
while city_flag:
if try_city < 3:
if province_input.strip() in university_list:
print("欢迎进入: %s!" % (province_input,)) # 赋值,记得一定要有个逗号
province_str2 = "欢迎进入沿海地区"
print(province_str2.center(20, '-'))
for city in university_list[province_input].keys():
print(city)
print("----------------------------")
city_input = input("请输入城市名称:")
school_flag = True
while school_flag:
if try_school < 3:
if city_input.strip() in university_list[province_input]:
print("欢迎进入:%s!" % (city_input,))
province_str3 = "欢迎进入沿海大学"
print(province_str3.center(20, '-'))
for school in university_list[province_input][city_input]:
print(school)
print("----------------------------")
school_input = input("请输入大学名称:")
if school_input.strip() in university_list[province_input][city_input]:
print("欢迎进入:%s!" % (school_input,))
print("当前位置:%s--%s--%s " % (province_input, city_input, school_input))
print("哈哈哈,已经结束啦啦啦")
flag = False
city_flag = False
school_flag = False
break
else:
print("您输入的信息有误,请重新输入!")
try_school += 1
else:
print("你输入的城市信息有误,请重新输入!")
try_city += 1
school_flag = False
else:
print("您输入的次数超过三次了哟,退出!")
flag = False
city_flag = False # 这边注意遗漏
school_flag = False # 这边注意遗漏
else:
print("你输入的信息有误,请重新输入")
try_province += 1
city_flag = False
else:
print("输入超过又三次了哟!,退出!")
flag = False
city_flag = False
else:
print("输入超过三次,退出!")
flag = False