之前练习名字管理的时候挺顺利,现在练习名片管理。一直卡在删除这里,总是搞不清楚怎么把列表中的字典整体删除,搞了很长时间终于有了头绪。新手自学,估计后面会有更好的方法,只是现在还不会····慢慢摸索。
要实现功能:
#增加名片
#修改名片
#查找名片
#显示所有
#删除名片
#退出
CallingCard = [] #用来存储用户名片卡
print("1.增加 2.更改 3.查询 4.显示所有名片 5.删除 6.退出")
while True :
num = int(input("请输入操作序号:")) #根据用户输入,执行相应功能
if num ==1 :
#先增加一个字典,把字典增加到list中
EveryCard = {}
while True:
Name = input("Name:")
Tell = int(input("Tell":))
QQ = int(input("QQ:"))
Addr = input("Addr:")
EveryCard["Name"] = Name
EveryCard["Tell"] = Tell
EveryCard["QQ"] = QQ
EveryCard["Addr"] = Addr
CallingCard.append(EveryCard)
#是否继续添加,Y继续 N停止
next_do = input("是否继续增加:Y 继续,N 停止:")
if next_do == "Y" or next_do =="y":
continue
elif next_do == "N" or next_do =="n":
print("输入错误,重新输入")
break
#更改名片
elif num == 2:
Change_name = input("请输入要变更的名字:")
for temp in CallingCard:
if Change_name == temp["Name"]:
print("姓名\t电话\t QQ\t地址")
print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
print("")
num = int(input("请输入变更序号:1. 姓名 2.电话 3. QQ 4.地址"))
if num ==1:
new_name = input("请输入新名字:")
elif num ==2:
new_tell = input("请输入新电话:")
elif num ==3:
new_QQ = input("请输入新的QQ:")
elif num ==4:
new_addr = input("请输入新的地址:")
else:
pass
#查询名片
elif num ==3:
find_name = input("请输入要查找的名字:")
find_flag = 0 #默认等于0找不到
for temp in CallingCard:
if find_name == temp["Name"]:
print("姓名\t电话\t QQ\t地址")
print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
find_flag = 1 #找到等于1
break
if find_flag == 0: #找不到
print("查无此人")
#显示全部名片
elif num == 4:
print("姓名\t电话\t QQ\t地址")
for temp in CallingCard:
print("%s\t%s\t%s\t%s"%(temp["Name"],temp["Tell"],temp["QQ"],temp["Addr"]))
#删除名片
elif num == 5:
find_flag = 0 #默认等于0找不到
del_name = input("请输入要删除的名字:")
for temp in CallingCard:
if temp["Name"] == del_name:
find_flag = 1 #找到了
CallingCard.remove(temp)
print("用户%s已删除"%(del_name))
if find_flag == 0:
print("输入用户不存在,重新输入")
elif num == 6:
break
else:
print("输入错误,请重新输入")
```
以上为本案例全部内容,几次复制失败,手敲了一遍,就当加深印象了吧···!···!
以上为本案例全部内容,几次复制失败,手敲了一遍,就当加深印象了吧···!···!