'''
1、实验题目:好友管理系统
请设计一个好友管理系统,每个功能都对应一个序号,用户可根据提示“请输入您的选项”选择序号执行相应的操作,包括:
(1)添加好友:用户根据提示“请输入要添加的好友:”输入要添加好友的姓名,添加后会提示“好友添加成功”。
(2)删除好友:用户根据提示“请输入删除好友姓名:”输入要删除好友的姓名,删除后提示“删除成功”。
(3)备注好友:用户根据提示“请输入要修改的好友姓名:”和“请输入修改后的好友姓名:”分别输入修改前和修改后的好友姓名,修改后会提示“备注成功”。
(4)展示好友:若用户还没有添加过好友,提示“好友列表为空”,否则返回每个好友的姓名。
(5)退出:关闭好友系统。
'''
""" print("\033[显示方式;前景颜色;背景颜色m…\033[0m") """
#自定义异常
class NumIntError(Exception):
pass
print("欢迎登录好友管理系统")
print("1.添加好友\n2.删除好友\n3.备注好友\n4.展示好友\n5.退出系统")
NameList = []
FLAG = 0
while FLAG != 5:
choice = input("请输入你的选项:")
try:
# 执行代码
n = int(choice)
if (n < 0 or n > 5):
raise NumIntError("输入选项不合法")
except NumIntError as e: # 捕获异常
print("\033[0;31m", e, "\033[0m")
except ValueError as e:
print("\033[0;31m你输入了一个非数字选项,请重新输入\033[0m")
else:
FLAG = n
if FLAG == 1:
print("添加好友")
try:
fdName = input("请输入要添加的好友名字:")
NameList.append(fdName)
except Exception as e:
print("\033[0;31m出现异常\033[0m")
else:
print("添加成功")
elif FLAG == 2:
print("删除好友")
try:
fdName = input("请输入要删除的好友名字:")
NameList.remove(fdName)
except Exception as e:
print("\033[0;31m好友列表中不存在该好友\033[0m")
else:
print("删除成功")
elif FLAG == 3:
print("备注好友")
if (len(NameList) == 0):
print("\033[0m好友列表不存在好友,无法进行更改\033[0m")
continue
t = 0
while t == 0:
oldName = input("请输入要更改好友的旧姓名:")
newName = input("请输入要更改的新名字:")
try:
if (oldName in NameList):
for i in range(0, len(NameList)):
if (NameList[i] == oldName):
NameList[i] = newName
else:
raise ValueError("未查询到该好友,请检查输入")
except ValueError as e:
print("\033[0;31m", e, "\033[0m")
else:
t = 1
print("备注成功")
elif FLAG == 4: # 展示好友
if (len(NameList) == 0):
print("好友列表为空")
else:
for item in NameList:
print(item)
elif FLAG == 5:
print("退出系统")