发布网友 发布时间:2022-04-24 20:18
共1个回答
热心网友 时间:2022-04-06 01:14
# Python3.6
def list_action():
# 用单个大写字母表示省:A,B,C,...
# 用省的大写字母开头的两个大写字母表示该省的市:AA,AB,AC,BA,CA,...
sheng = ["A", "B", "C"]
shi = ["AA", "AB", "AC", "AD",
"BA", "BB", "BC", "BD",
"CA", "CB", "CC", "CD"]
# 查询
def locate_SS(sn, si):
status = [False, False]
try:
sheng.index(sn)
except ValueError:
print("{}省市不在列表中。".format(sn))
return status
else:
status[0] = True
try:
shi.index(si)
except ValueError:
print("{}省在列表中,但{}市不在列表中。".format(sn, si))
return status
else:
status[1] = True
print("{}省和{}市已经在列表中。".format(sn, si))
return status
def insert_SS(sn, si):
st = locate_SS(sn, si)
if st[0] is False and st[1] is False:
sheng.append(sn)
shi.append(si)
print("成功插入{}省,{}市。".format(sn, si))
elif st[0] and st[1] is False:
shi.append(si)
print("成功插入{}市。".format(si))
def delete_SS(sn, si):
st = locate_SS(sn, si)
if st[0] and st[1]:
shi.remove(si)
print("成功删除{}市。".format(si))
for item in shi:
if item.startswith(sn):
return
sheng.remove(sn)
print("城市列表中已无{0}省的城市,删除{0}省。".format(sn))
else:
print("删除失败,输入城市错误。")
while(True):
print("输入操作如下:")
print(" 输入:省份 城市名 查询,查询省份城市")
print(" 输入:省份 城市名 添加,添加省份城市")
print(" 输入:省份 城市名 删除,删除省份城市")
print(" 输入:退出,退出。")
commond = input()
commond_list = commond.split()
if len(commond_list) == 1 and commond_list[0] == "退出":
exit()
elif len(commond_list) == 3:
sheng_, shi_, cmd = commond_list
if cmd == "查询":
locate_SS(sheng_, shi_)
elif cmd == "添加":
insert_SS(sheng_, shi_)
elif cmd == "删除":
delete_SS(sheng_, shi_)
else:
print("输入操作有误,请重新输入。")
else:
print("输入操作有误,请重新输入。")
print()
if __name__ == "__main__":
list_action()
来自:求助得到的回答