# 3种for in 区别
# for item in list: # item 为列表元素
# for i in range(len(list)): # i 为列表索引
# for key in dict: # key 为字典的键
# 建议餐厅录入系统
# 创建餐厅列表
list_restaurant = []
# 餐厅属性别名字典
dict_alias = {
"city": "餐厅城市",
"name": "餐厅名字",
"comment": "餐厅评论"
}
while True:
print("1键录入餐厅信息")
print("2键显示餐厅信息")
print("3键删除餐厅信息")
print("4键修改餐厅信息")
number = input("请选择功能菜单")
if number == "1": # 录入餐厅信息
# 将录入的信息添加到餐厅信息字典对应的属性中
dict_restaurant = {
"city": input("请输入" + dict_alias["city"]),
"name": input("请输入" + dict_alias["name"]),
"comment": int(input("请输入" + dict_alias["comment"]))
}
# 将餐厅信息字典添加到餐厅列表中
list_restaurant.append(dict_restaurant)
elif number == "2": # 显示餐厅信息
# 遍历餐厅列表,将所有的餐厅信息展示出来
for item in list_restaurant:
print(dict_alias["city"] + ":" + item["city"] + "," +
dict_alias["name"] + ":" + item["name"] + "," +
dict_alias["comment"] + ":" + str(item["comment"]))
elif number == "3": # 删除餐厅信息
name = input("请输入要删除的餐厅名字")
# 遍历餐厅列表
for i in range(len(list_restaurant)):
# 从餐厅列表中餐厅信息字典的餐厅名字name属性判断要从餐厅列表中要删除的餐厅
if list_restaurant[i]["name"] == name:
del list_restaurant[i]
print("餐厅名字为" + name + "已从系统中删除")
break # 完成删除后用break跳出循环
elif number == "4": # 修改餐厅信息
if len(list_restaurant) == 0: # 餐厅列表为0,系统中还没餐厅信息
print("系统还没录入有餐厅")
else:
name = input("请输入要修改的餐厅")
# 遍历餐厅列表
for item in list_restaurant:
# 从餐厅列表中餐厅信息字典的餐厅名字name属性判断要修改的餐厅
if item["name"] == name:
count = 1
list_key = [] # 餐厅信息字典的键列表
# 遍历餐厅信息字典向用户提示修改步骤
for key in item:
print(str(count) + "键修改" + dict_alias[key])
list_key.append(key)
count += 1
modify_num = int(input("请选择要修改的数据")) # 用户输入的修改编号
new = input("请输入修改后的数据")
modify_key = list_key[modify_num - 1] # 修改编号比对应键列表的键索引大1
item[modify_key] = new # 修改信息 没做类型判断,如果修改餐厅评论,餐厅评论的类型会为str,餐厅评论的类型应为int
break